code!code!code!
import pandas as pd
import numpy as np
dates = pd.date_range('20191218', periods=6)
df = pd.DataFrame(np.arange(24).reshape((6,4)), index=dates, columns=['A', 'B', 'C', 'D'])
print(df['A']) # 选中打印某列,这里是A列
print(df.A) # 同上
print(df[0:3]) # 选中打印某行,这里是打印0到2行
print(df['20191218':'20191220']) # 同上
# select by label: loc / 标签选择
print(df.loc['20191219']) # 以pandas中loc后缀,用标签选择
# A 4
# B 5
# C 6
# D 7
# Name: 2019-12-19 00:00:00, dtype: int32
print(df.loc[:, ['A', 'B']])
# A B
# 2019-12-18 0 1
# 2019-12-19 4 5
# 2019-12-20 8 9
# 2019-12-21 12 13
# 2019-12-22 16 17
# 2019-12-23 20 21
print(df.loc['20191218', ['A', 'B']]) #给出行与列对应的label来打印
# A 0
# B 1
# Name: 2019-12-18 00:00:00, dtype: int32
# select by position:iloc / 位置选择
print(df.iloc[3]) # 打印第三行
print(df.iloc[3,1]) # 打印第三行第一位
print(df.iloc[3:5,1:3]) # 打印第三行到第五行,第一列到第三列
print(df.iloc[[1,3,5],1:3]) #打印第1,3,5行,第一列到第三列
# ix已经被弃用
# Boolean indexing / 判断指令
print(df)
# A B C D
# 2019-12-18 0 1 2 3
# 2019-12-19 4 5 6 7
# 2019-12-20 8 9 10 11
# 2019-12-21 12 13 14 15
# 2019-12-22 16 17 18 19
# 2019-12-23 20 21 22 23
print(df[df.A > 8]) # 先判断A>8的部分,然后打印出来
# A B C D
# 2019-12-21 12 13 14 15
# 2019-12-22 16 17 18 19
# 2019-12-23 20 21 22 23