码迷,mamicode.com
首页 > 其他好文 > 详细

Pandas选择数据

时间:2018-07-28 23:29:51      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:res   序列   shape   筛选   data   name   panda   需要   index   

1、简单筛选

>>> dates = pd.date_range(20130101, periods=6)
>>> df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=[A,B,C,D])
>>> print(df)
             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])
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: int32
>>> 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: int32

#选择跨越多行或多列
>>> 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
#如果df[3:3]将会是一个空对象。后者选择20130102到20130104标签之间的数据,并且包括这两个标签。

2、根据标签loc筛选

通过标签名字选择某一行数据, 或者通过选择某行或者所有行:代表所有行)然后选其中某一列或几列数据

>>> print(df.loc[20130102])
A    4
B    5
C    6
D    7
Name: 2013-01-02 00:00:00, dtype: int32

>>> 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: int32

3、根据序列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

4、混合loc、iloc两种的ix

>>> print(df.ix[:3,[A,C]])
            A   C
2013-01-01  0   2
2013-01-02  4   6
2013-01-03  8  10

5、通过判断的筛选

即可以采用判断指令 (Boolean indexing) 进行选择. 我们可以约束某项条件然后选择出当前所有数据.。

>>> 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

 

Pandas选择数据

标签:res   序列   shape   筛选   data   name   panda   需要   index   

原文地址:https://www.cnblogs.com/anhoo/p/9383790.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!