关于pandas数据选择的知识点总结。
- 首先,创建一个dataframe
df = pd.DataFrame({'A': [3, 4, 8, 9],
'B': [1.2, 2.4, 4.5, 7.3],
'C': ["aa", "bb", "cc", "dd"]})
创建的dataframe信息如下:
A B C
0 3 1.2 aa
1 4 2.4 bb
2 8 4.5 cc
3 9 7.3 dd
- 选择一列
df1 = df['A'] # 根据列名选取一列,以Series的形式返回列
df1 = df.A # 与上面写法效果相同
结果如下:
0 3
1 4
2 8
3 9
- 根据列名的列表选择多列
df1 = df[['A', 'B']]
结果如下:
A B
0 3 1.2
1 4 2.4
2 8 4.5
3 9 7.3
- 选择前n行
df[0:2] # 选择前三行
结果如下:
A B C
0 3 1.2 aa
1 4 2.4 bb
- 选择某一行
df.iloc[0,:] # 选择第一行
结果如下:
A 3
B 1.2
C aa
Name: 0, dtype: object
- 选择某行某列的元素
df.iloc[0, 0] # 选择第一行第一列的元素
结果如下:
3
- 在多个轴上选择数据
df.loc[:, ['B', 'C']] # 选择B C列的所有行
print("=============")
df.loc[1:2, :] # 选择2 3 行的所有列
print("=============")
df.loc[1:2, ['B', 'C']] # 选择2 3 行的B C列
print("=============")
df.at[2, 'A'] # 获取第三行,'A'列的元素, at与loc的用法和效果相同
结果如下:
B C
0 1.2 aa
1 2.4 bb
2 4.5 cc
3 7.3 dd
=============
A B C
1 4 2.4 bb
2 8 4.5 cc
=============
B C
1 2.4 bb
2 4.5 cc
=============
8
- 按索引选行
df.iloc[2] # 选择索引是2的行
结果如下:
A 8
B 4.5
C cc
Name: 2, dtype: object
- 根据列表位置选择元素
df.iloc[[1, 2], [0, 2]]
结果如下:
A C
1 4 bb
2 8 cc
- 选择具体值
df.iloc[1, 1] #
获取具体值
df.iloc[1, 1] # 获取第二行第二列的值
df.iat[1, 1] # 获取第二行第二列的值,效果与iloc()相同
- 结果如下:
2.4
2.4
参考
https://www.cnblogs.com/zhaohuanhuan/p/9177277.html
https://www.pypandas.cn/docs/getting_started/10min.html
来源:CSDN
作者:jp_666
链接:https://blog.csdn.net/jp_666/article/details/103915721