pandas入门: 数据选择

断了今生、忘了曾经 提交于 2020-01-10 02:34:14

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!