import pandas as pd
import numpy as np
dates = pd.date_range('20210712', periods=6)
df1 = pd.DataFrame(np.arange(24).reshape(6, 4), index=[dates], columns=['A', 'B', 'C', 'D'])
print(df1)
print()
print(df1['A']) # 将DataFrame的一个列获取为一个Series
print(df1.A) # 同上
print()
print(df1[0:2]) # 取0到1行
print()
print(df1['20210712':'20210715']) # 通过索引取行
print()
# 通过标签选择数据
print(df1.loc['20210716'])
print(df1.loc['20210716', ['A', 'D']])
print(df1.loc[:, ['A', 'B']])
print()
# 通过位置选择数据
print(df1.iloc[2]) # 第二行
print(df1.iloc[1:3, 2:4]) # 某几行某几列
print(df1.iloc[[1, 3, 4], [2, 3]]) # 指定某几行某几列
print()
# 混合标签位置选择
# print(df1.ix[1:3, ['A', 'C']]) # .ix不能用了
print(df1.A > 6)
print()
print(df1[df1.A > 6])
A B C D
2021-07-12 0 1 2 3
2021-07-13 4 5 6 7
2021-07-14 8 9 10 11
2021-07-15 12 13 14 15
2021-07-16 16 17 18 19
2021-07-17 20 21 22 23
2021-07-12 0
2021-07-13 4
2021-07-14 8
2021-07-15 12
2021-07-16 16
2021-07-17 20
Name: A, dtype: int32
2021-07-12 0
2021-07-13 4
2021-07-14 8
2021-07-15 12
2021-07-16 16
2021-07-17 20
Name: A, dtype: int32
A B C D
2021-07-12 0 1 2 3
2021-07-13 4 5 6 7
A B C D
2021-07-12 0 1 2 3
2021-07-13 4 5 6 7
2021-07-14 8 9 10 11
2021-07-15 12 13 14 15
A B C D
2021-07-16 16 17 18 19
A D
2021-07-16 16 19
A B
2021-07-12 0 1
2021-07-13 4 5
2021-07-14 8 9
2021-07-15 12 13
2021-07-16 16 17
2021-07-17 20 21
A 8
B 9
C 10
D 11
Name: (2021-07-14 00:00:00,), dtype: int32
C D
2021-07-13 6 7
2021-07-14 10 11
C D
2021-07-13 6 7
2021-07-15 14 15
2021-07-16 18 19
2021-07-12 False
2021-07-13 False
2021-07-14 True
2021-07-15 True
2021-07-16 True
2021-07-17 True
Name: A, dtype: bool
A B C D
2021-07-14 8 9 10 11
2021-07-15 12 13 14 15
2021-07-16 16 17 18 19
2021-07-17 20 21 22 23