1.4 数据选择
1.4.1 字段数据
1.4.1.1 列的获取
import numpy as np import pandas as pd df = pd.DataFrame(np.random.randint(0, 150, size = (1000, 3)), columns = ['Python', 'English', 'Math']) display(df) # 获取 Python 一列的数据 # 方法一 display(df['Python']) # 方法二 display(df.Python) # 获取两列数据 display(df[['Python', 'Math']])
再来对比两个写法:同样是获得一列的数据,不同的写法对应的运行表现不同:
display(df['Python']) display(df[['Python']])
1.4.1.2 行的获取
import numpy as np import pandas as pd df = pd.DataFrame(np.random.randint(0, 150, size = (5, 3)), index = list('ABCDE'), columns = ['Python', 'English', 'Math']) # 获取 Python 一行的数据 display(df.loc['A']) # 获取 两行的数据 display(df.loc[['A', 'C']])
还有一种获取方法:
display(df.iloc[0]) # 按数字去获取,0就是对应'A' display(df.iloc[[0, 2]]) # 获取的是 'A' 和 'C'
1.4.1.3 数值的获取
我们介绍了获取行和获取列,现在我们来介绍获取固定行固定列的元素:
# 获取第 B 行,第 Math 列的值 # 方法一 display(df['Math']['B']) # 方法二 display(df.loc['B']['Math']) # 方法三 display(df.loc['B', 'Math']) # 方法四 display(df.iloc[1, 2])
1.4.1.4 切片操作
切片的概念和表达都和 Python 的传统切片无差别,和 NumPy 也特别相似:
display(df.loc['A':'C']) display(df.loc['A':'C', 'English':]) display(df.iloc[1:2, 0:-1])