- 更新时间:2018-07-29
前言
这一系列博客主要介绍Pandas科学计算,使用Pandas进行数据科学计算更高效、更简单。
代码说明
基本操作
>>> import pandas as pd
>>> # 生成数据
>>> dates = pd.date_range('20130101', periods=6)
>>> df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=['A','B','C','D'])
A B C D
2013-01-01 0 1 2 3
2013-01-02 4 5 6 7
2013-01-03 8 9 10 11
2013-01-04 12 13 14 15
2013-01-05 16 17 18 19
2013-01-06 20 21 22 23
>>> # 简单筛选
>>> print(df['A'])
>>> # 或者执行下面的命令,结果相同
>>> # print(df.A)
2013-01-01 0
2013-01-02 4
2013-01-03 8
2013-01-04 12
2013-01-05 16
2013-01-06 20
Freq: D, Name: A, dtype: int64
>>> # 类似列表的切片
>>> print(df[0:3])
A B C D
2013-01-01 0 1 2 3
2013-01-02 4 5 6 7
2013-01-03 8 9 10 11
>>> print(df['20130102':'20130104'])
A B C D
2013-01-02 4 5 6 7
2013-01-03 8 9 10 11
2013-01-04 12 13 14 15
标签loc
loc标签用于根据列明进行标签选择。
>>> print(df.loc['20130102'])
A 4
B 5
C 6
D 7
Name: 2013-01-02 00:00:00, dtype: int64
>>> print(df.loc[:,['A','B']])
A B
2013-01-01 0 1
2013-01-02 4 5
2013-01-03 8 9
2013-01-04 12 13
2013-01-05 16 17
2013-01-06 20 21
>>> print(df.loc['20130102',['A','B']])
A 4
B 5
Name: 2013-01-02 00:00:00, dtype: int64
标签iloc
iloc标签用于根据索引值进行数据选择。
>>> print(df.iloc[3,1])
13
>>> print(df.iloc[3:5,1:3])
B C
2013-01-04 13 14
2013-01-05 17 18
>>> print(df.iloc[[1,3,5],1:3])
B C
2013-01-02 5 6
2013-01-04 13 14
2013-01-06 21 22
标签ix
ix标签表示进行混合选择,下面代码表示选择前三行,并且“A“,“C“列的数据
>>> print(df.ix[:3,['A','C']])
A C
2013-01-01 0 2
2013-01-02 4 6
2013-01-03 8 10
加入条件判断
>>> print(df[df.A>8])
A B C D
2013-01-04 12 13 14 15
2013-01-05 16 17 18 19
2013-01-06 20 21 22 23