pandas数据筛选

import pandas as pd
import numpy as np

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'],df.A)
# 切片
print('******************************')
print(df[0:3],df['20130102':'20130104'])
print('******************************')
# 以标签的形式来选择
print(df.loc['20130103'])
print('******************************')
# 进行行和列的筛选(根据名称)
print(df.loc[:,['A','B']])
print('******************************')
# 根据位置来选择
print(df.iloc[3:5,1:3])
print('******************************')
print(df.ix[:3,['A','C']])
print('******************************')
print(df[df.A > 8])

结果:
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 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


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


A 8
B 9
C 10
D 11
Name: 2013-01-03 00:00:00, dtype: int32


         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


         B   C

2013-01-04 13 14
2013-01-05 17 18


        A   C

2013-01-01 0 2
2013-01-02 4 6
2013-01-03 8 10


         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/code_fighter/article/details/80379802
今日推荐