python pandas 数据处理

pandas是基于numpy包扩展而来的,因而numpy的绝大多数方法在pandas中都能适用。

pandas中我们要熟悉两个数据结构Series 和DataFrame

Series是类似于数组的对象,它有一组数据和与之相关的标签组成。

结果为:

0 2
1 5
2 8
3 9
dtype: int64

结果中包含一列数据和一列标签
我们可以用values和index分别进行引用

结果为:

[2 5 8 9]
RangeIndex(start=0, stop=4, step=1)

我们还可以按照自己的意愿构建标签

结果为:

a 2
b 5
c 8
d 9
dtype: int64

我们还可以对序列进行运算

结果为

c 8
d 9
dtype: int64

也可以把Series看成一个字典,使用in进行判断

结果为:

True

另外,值是不能直接被索引到的

结果为:

False

Series中的一些方法,

isnull或者notnull可以用于判断数据中缺失值情况

name或者index.name可以对数据进行重命名

DataFrame数据框,也是一种数据结构,和R中的数据框类似

结果为:

income year
0 3000 2000
1 3500 2001
2 4500 2002
3 6000 2003

结果为:

year income outcome
a 2000 3000 NaN
b 2001 3500 NaN
c 2002 4500 NaN
d 2003 6000 NaN

新增加列outcome在data中没有,则用na值代替

索引的几种方式

两种索引是等价的,都是对列进行索引,结果为:

a 2000
b 2001
c 2002
d 2003
Name: year, dtype: int64

对行进行索引,则是另外一种形式

结果为:

year 2000
income 3000
outcome NaN
Name: a, dtype: object

或者也可以用切片的形式

结果为:

year income outcome
b 2001 3500 NaN
c 2002 4500 NaN

增加和删除列

增加列为money

year income outcome money
a 2000 3000 NaN 0
b 2001 3500 NaN 1
c 2002 4500 NaN 2
d 2003 6000 NaN 3

删除列结果为:

year income money
a 2000 3000 0
b 2001 3500 1
c 2002 4500 2
d 2003 6000 3

pandas中的主要索引对象以及相对应的索引方法和属性

此外还有一个reindex函数可以重新构建索引

结果为:

使用方法后的结果为:

索引删除以及过滤等相关方法

结果为:

结果为:

结果为 :

结果为:

详细的索引过滤方法如下:

dataframe的算法运算

结果为:

对dataframe进行排序

结果为:

结果为:

结果为:

结果为:

结果为:

这里是对结果进行降序排列

汇总以及统计描述

结果为:

结果为:

结果为:

详细约简方法

相关描述统计函数

相关系数与协方差

结果为:

one和three的相关系数为:

0.706077105725

one和three的协方差为:

0.0677896135613

one和所有列的相关系数:

唯一值,成员资格等方法

结果为:

[‘a’ ‘b’ ‘c’ ‘d’]

结果为:

0 False
1 False
2 True
3 True
4 True
5 False
6 False
7 False
dtype: bool

结果为:

d 2
c 1
b 3
a 2
dtype: int64

缺失值处理

结果为:

0 False
1 False
2 False
3 True
4 False
5 False
6 True
7 False
dtype: bool

结果为:

0 a
1 a
2 b
4 b
5 c
7 d
dtype: object

结果为:

0 a
1 a
2 b
3 b
4 b
5 c
6 c
7 d
dtype: object

结果为:

0 a
1 a
2 b
3 0
4 b
5 c
6 0
7 d
dtype: object

层次化索引

可以对数据进行多维度的索引

结果为:

结果为:

MultiIndex(levels=[[‘a’, ‘b’, ‘c’, ‘d’], [1, 2, 3]],

结果为:

结果为:

结果为:

把数据转换成为一个dataframe

unstack()的逆运算

了解这些,应该可以进行一些常规的数据处理了。

3 6 收藏 评论

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部