内容学习自:

Python for Data Analysis, 2nd Edition        

就是这本

纯英文学的很累,对不对取决于百度翻译了

前情提要:

各种方法贴:

  https://www.cnblogs.com/baili-luoyun/p/10250177.html

    内容提要:本次内容主要讲的是pands基本入门

      一:pandas 主要有两种数据结构

        Series,DataFrame

      二: Series 

        1:定义:

  Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成

        2:表现形式

  Series的字符串表现形式为:索引在左边,值在右边。

        3:创建一个一维数组

obj =pd.Series([4,5,6,7,8])        #创建一维数组
print(obj) print(obj.index)
print(obj.values)
>>>>>>>>>
0 4
1 5
2 6
3 7
4 8
dtype: int64
RangeIndex(start=0, stop=5, step=1)
[4 5 6 7 8]

        4:通过索引获得内容

          1>:单索引

obj1 = pd.Series([4,6,-7,-8],index=['d','a','b','c']) #修改索引
print(obj1)
>>>>
#通过索引获得内容
print(obj1['d'])
>>>>

d 4
a 6
b -7
c -8
dtype: int64
4

          2>:多索引

#多索引
print(obj1[['d','a','c']])
>>>>
d 4
a 6
b -7
c -8
dtype: int64
d 4
a 6
c -8
dtype: int64

          3>:布尔过滤

print(obj1[obj1<0])
>>>>

d 4
a 6
b -7
c -8
dtype: int64
b -7
c -8
dtype: int64

          4>:应用乘法

print(obj1*2)
>>>>>>>>>>
d 4
a 6
b -7
c -8
dtype: int64
d 8
a 12
b -14
c -16
dtype: int64

         5>:应用级函数

print(np.exp(obj1))
>>>>>
d 4
a 6
b -7
c -8
dtype: int64
d 54.598150
a 403.428793
b 0.000912
c 0.000335
dtype: float64

        6>:索引的映射关系

print('b'in obj1)
print('e'in obj1) >>>>>
d 4
a 6
b -7
c -8
dtype: int64
True
False

        5 :创建字典的Series:

          1:>创建字典型Series

sdata ={'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000 }
obj3 =pd.Series(sdata)
print(obj3) >>>> Ohio 35000
Texas 71000
Oregon 16000
Utah 5000
dtype: int64

          2:>Series 插入index 和valuse

sdata ={'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000 }
obj3 =pd.Series(sdata)
print(obj3)
# 插入index 和valuse
states =['California','Ohio','Oregon','Texas']
obj4 =pd.Series(sdata,index=states) print(obj4) >>>>>>>>>>>>>> Ohio 35000
Texas 71000
Oregon 16000
Utah 5000
dtype: int64
California NaN
Ohio 35000.0
Oregon 16000.0
Texas 71000.0
dtype: float64

          3>:检测数据是否缺失

l =pd.isnull(obj4)
print(l)
l2 =pd.notnull(obj4)
print(l2) >>>>>>>>>>>>
California True
Ohio False
Oregon False
Texas False
dtype: bool
California False
Ohio True
Oregon True
Texas True
dtype: bool

          4>:赋予名字

obj4.name ='population'
obj4.index.name ='state'
print(obj4)
>>>>>>>>>\
state
California NaN
Ohio 35000.0
Oregon 16000.0
Texas 71000.0
Name: population, dtype: float64

          5>:修改索引,修改索引的名字

obj =pd.Series([4,7,-6,3])
print(obj)
obj.index=['bob','Steve','jeff','Ryan']
print(obj)
>>>>>>>>>
0 4
1 7
2 -6
3 3
dtype: int64 bob 4
Steve 7
jeff -6
Ryan 3
dtype: int64

         三:DataFrame

    一:定义

  

DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)
    二:创建

data ={'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],
'year':[2000,2001,2002,2001,2002,2003],
'pop':[1.5,1.7,3.6,2.4,2.8,3.2]
}
frame =pd.DataFrame(data)
print(frame)
>>>>>>>>>
state year pop
0 Ohio 2000 1.5
1 Ohio 2001 1.7
2 Ohio 2002 3.6
3 Nevada 2001 2.4
4 Nevada 2002 2.8
5 Nevada 2003 3.2
           2.1 head() #只获取前5行
print(frame.head())

>>>>>>>

    state  year  pop
0 Ohio 2000 1.5
1 Ohio 2001 1.7
2 Ohio 2002 3.6
3 Nevada 2001 2.4
4 Nevada 2002 2.8

    

     2.2# 利用抬头排序

print(pd.DataFrame(data,columns=['year','pop','state']))
>>>>>>>>
year pop state
0 2000 1.5 Ohio
1 2001 1.7 Ohio
2 2002 3.6 Ohio
3 2001 2.4 Nevada
4 2002 2.8 Nevada
5 2003 3.2 Nevada

      2.3:拆入数据如果找不到,缺失值,则返回None

# #插入数据如果找不到,缺失值,则返回NaN
#columns 列名
#index 行名
frame2 =pd.DataFrame(data,columns=['year','state','pop','debt'],
index=['one','two','three','four','five','six']
)
print(frame2)
>>>>>>>>>>>>
year state pop debt
one 2000 Ohio 1.5 NaN
two 2001 Ohio 1.7 NaN
three 2002 Ohio 3.6 NaN
four 2001 Nevada 2.4 NaN
five 2002 Nevada 2.8 NaN
six 2003 Nevada 3.2 NaN

   2.4:返回columns 的值

    

print(frame2.columns)
>>>>>>>>
Index(['year', 'state', 'pop', 'debt'], dtype='object')

    2.5:通过标记,或者属性的方式,获取某一列的值

# #单独获取某一列
print(frame2['state'])
print(frame2.year)
print('>>>>>>>>>>>>>>>>>>')
print(frame2['year']) >>>>>>>>>>>>>>
one Ohio
two Ohio
three Ohio
four Nevada
five Nevada
six Nevada
Name: state, dtype: object
one 2000
two 2001
three 2002
four 2001
five 2002
six 2003
Name: year, dtype: int64
>>>>>>>>>>>>>>>>>>
one 2000
two 2001
three 2002
four 2001
five 2002
six 2003
Name: year, dtype: int64

    2.6:loc 属性获取行的所有内容

print(frame2.loc['three'])
>>>>>>>>>>
year 2002
state Ohio
pop 3.6
debt NaN
Name: three, dtype: object

    2.7:通过赋值的方式进行修改

frame2['debt']=16.5
print(frame2)
>>>>>>>>
year state pop debt
one 2000 Ohio 1.5 16.5
two 2001 Ohio 1.7 16.5
three 2002 Ohio 3.6 16.5
four 2001 Nevada 2.4 16.5
five 2002 Nevada 2.8 16.5
six 2003 Nevada 3.2 16.5

   2.8:以 范围内容生成赋值

frame2['dabt']=np.arange(6.)
print(frame2)
>>>>>>>>>>

year state pop debt dabt
one 2000 Ohio 1.5 NaN 0.0
two 2001 Ohio 1.7 NaN 1.0
three 2002 Ohio 3.6 NaN 2.0
four 2001 Nevada 2.4 NaN 3.0
five 2002 Nevada 2.8 NaN 4.0
six 2003 Nevada 3.2 NaN 5.0

  2.9:以Series的方式进行赋值

print(frame2)
print(">>>>>>>>>>>>")
val =pd.Series([-1.2,-1.5,-1.7],index =['two','four','five'])
print(val)
print(">>>>>>>>>>>>>>")
frame2['debt'] =val
print(frame2)
>>>>>>>>>>>>>>>>>>>>>
year state pop debt
one 2000 Ohio 1.5 NaN
two 2001 Ohio 1.7 NaN
three 2002 Ohio 3.6 NaN
four 2001 Nevada 2.4 NaN
five 2002 Nevada 2.8 NaN
six 2003 Nevada 3.2 NaN
>>>>>>>>>>>>
two -1.2
four -1.5
five -1.7
dtype: float64
>>>>>>>>>>>>>>
year state pop debt
one 2000 Ohio 1.5 NaN
two 2001 Ohio 1.7 -1.2
three 2002 Ohio 3.6 NaN
four 2001 Nevada 2.4 -1.5
five 2002 Nevada 2.8 -1.7
six 2003 Nevada 3.2 NaN

  2.10:布尔型运算

frame2['eastern'] =frame2.state =='Ohio'
print(frame2)
>>>>>>>>
year state pop debt eastern
one 2000 Ohio 1.5 NaN True
two 2001 Ohio 1.7 NaN True
three 2002 Ohio 3.6 NaN True
four 2001 Nevada 2.4 NaN False
five 2002 Nevada 2.8 NaN False
six 2003 Nevada 3.2 NaN False

  

  

利用python 学习数据分析 (学习四)的更多相关文章

  1. "利用python进行数据分析"学习记录01

    "利用python进行数据分析"学习记录 --day01 08/02 与书相关的资料在 http://github.com/wesm/pydata-book pandas 的2名字 ...

  2. Python: 利用Python进行数据分析 学习记录

    -----15:18 2016/10/14----- 1. import numpy as np;import pandas as pd values = pd.Series(np.random.no ...

  3. 利用python进行数据分析——(一)库的学习

    总结一下自己对python常用包:Numpy,Pandas,Matplotlib,Scipy,Scikit-learn 一. Numpy: 标准安装的Python中用列表(list)保存一组值,可以用 ...

  4. PYTHON学习(三)之利用python进行数据分析(1)---准备工作

    学习一门语言就是不断实践,python是目前用于数据分析最流行的语言,我最近买了本书<利用python进行数据分析>(Wes McKinney著),还去图书馆借了本<Python数据 ...

  5. $《利用Python进行数据分析》学习笔记系列——IPython

    本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环 ...

  6. 《利用Python进行数据分析·第2版》第四章 Numpy基础:数组和矢量计算

    <利用Python进行数据分析·第2版>第四章 Numpy基础:数组和矢量计算 numpy高效处理大数组的数据原因: numpy是在一个连续的内存块中存储数据,独立于其他python内置对 ...

  7. 利用python进行数据分析--(阅读笔记一)

    以此记录阅读和学习<利用Python进行数据分析>这本书中的觉得重要的点! 第一章:准备工作 1.一组新闻文章可以被处理为一张词频表,这张词频表可以用于情感分析. 2.大多数软件是由两部分 ...

  8. 利用Python进行数据分析_Pandas_基本功能

    申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. 第一 重新索引 Series的reindex方法 In [15]: obj = ...

  9. 利用Python进行数据分析 第4章 IPython的安装与使用简述

    本篇开始,结合前面所学的Python基础,开始进行实战学习.学习书目为<利用Python进行数据分析>韦斯-麦金尼 著. 之前跳过本书的前述基础部分(因为跟之前所学的<Python基 ...

  10. 利用Python进行数据分析(第二版)电子版书籍分享

    资料下载地址: 链接:https://pan.baidu.com/s/1y1C0bJPkSn7Sv6Eq9G5_Ug 提取码:vscu <利用Python进行数据分析(第二版)>高清中文版 ...

随机推荐

  1. hack vba password, en useful...

    Unbelivibale, but I found a very simple way that really works! Do the follwoing: 1. Create a new sim ...

  2. php 伪协议探究

    0x01序 PHP伪协议探究 php中支持的伪协议有下面这么多 file:// — 访问本地文件系统 http:// — 访问 HTTP(s) 网址 ftp:// — 访问 FTP(s) URLs p ...

  3. RocketMQ 自定义文件路径

    一 .1. 修改store路径2. 修改logs路径3. 修改rmq_bk_gc.log路径4. 修改rmq_srv_gc.log路径二 .1. 获取正确的rocketmq 源码2. 地址:https ...

  4. swift UITabelVIew - 纯代码自定义tabelViewCell

    // //  CustomTableViewCell.swift //  tab // //  Created by su on 15/12/7. //  Copyright © 2015年 tian ...

  5. 基于智能手机的3D地图导航

    https://www.gpsworld.com/resources/archives/ Going 3D Personal Nav and LBS To enrich user experience ...

  6. HRBUST1311 火影忍者之~忍者村 2017-03-06 16:06 106人阅读 评论(0) 收藏

    火影忍者之-忍者村   忍者村是忍者聚居的村子,相等于国家的军事力量.绝大部分村民都是忍者,有一些忍者会在村内开设书店.餐厅等,不过大部分忍者都是为村子执行任务的忍者,以赚取酬劳,并于战时为国家出战. ...

  7. 用shell脚本 计算两个数的加减乘除取余

    #! /bin/bash # read -p '请输入数:' a //输入 read -p '请输入数:' b echo '$a+$b=' $(( a + b )) //输出 echo '$a-$b= ...

  8. Android-Activity启动模式(launchMode)

    Activity启动模式是非常重要的一块内容,启动模式直接关系到用户的体验 和 性能的提升等 Activity启动模式分为四种: 如果不配置:launchMode,默认就是:standard 标准的 ...

  9. [Elixir002]节点启动后自动连接其它节点

    问题: 如何指定一个节点在启动后自动连接到别的节点上? 这个我们要使用到sys.config,这是erlang的配置文件,这个文件一般都是$ROOT/releases/Vsn下 1. 首先我们要先启动 ...

  10. solr特点三: 排序样例汇总

    目的是提供solrj 实现 查询的样例参考 单维度排序 //查询条件 query.setQuery(queryString); // add 是添加 query.addSortField(field_ ...