【Python】Pandas科学计算(三)——数据选择

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/roguesir/article/details/81276610
  • 更新时间: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

猜你喜欢

转载自blog.csdn.net/roguesir/article/details/81276610