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中文网其他相关文章!