首页 >后端开发 >Python教程 >如何正确选择 Pandas DataFrame 中的列?

如何正确选择 Pandas DataFrame 中的列?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-24 13:26:24995浏览

How to Correctly Select Columns in Pandas DataFrames?

Pandas DataFrame 中的列选择:故障排除指南

使用 Pandas 数据帧时,选择特定列是一项基本任务。但是,尝试使用 df['a':'b'] 或 df.ix[:, 'a':'b'] 等语法来完成此操作可能会遇到障碍,因为无法将列名称切片为字符串。

选项 1:显式列选择

要按名称选择特定列,解决方案在于传递列名称列表到 __getitem__ 语法:

df1 = df[['a', 'b']]

此方法仅创建所需列的视图。

选项 2:数字列选择

如果首选以数字方式索引列, iloc 函数可以是使用:

df1 = df.iloc[:, 0:2]

请注意,Python 索引不包括结尾索引。

复制与视图

理解 a 和 a 之间的区别很重要视图和 Pandas 对象的副本。默认情况下,第一个方法创建一个副本,而第二个方法返回一个引用与原始对象相同的内存位置的视图。要使用第二种方法获取副本,请使用 .copy() 方法:

df1 = df.iloc[0, 0:2].copy()

利用列索引

要使用 iloc 按名称访问列,可以使用 get_loc 函数获取列索引:

column_indices = {df.columns.get_loc(c): c for idx, c in enumerate(df.columns)}
df1 = df.iloc[:, [column_indices['a'], column_indices['b']]]

以上是如何正确选择 Pandas DataFrame 中的列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn