在 Pandas Dataframe 中选择多个列
在 Python 的 Pandas 库中,从 Dataframe 中选择特定列是一种常见的操作。但是,尝试以某些方式执行此操作可能会遇到错误。
不成功的尝试:
使用 df['a':'b'] 或 df 等切片表示法.ix[:, 'a':'b'] 选择 'a' 和 'b' 之间的列失败,因为列名是字符串,不能以这种方式进行切片。
成功选项:
使用列名称:
选择特定使用其名称的列,在方块中提供所需列名称的列表括号:
df1 = df[['a', 'b']]
使用列索引:
如果必须通过索引(而不是名称)选择列,请使用iloc:
df1 = df.iloc[:, 0:2] # Note: Python slicing is exclusive of the ending index.
注意事项:
查看与复制:
上述方法返回以下视图所需的列,而不是副本。要在内存中创建新副本,请使用 .copy() 方法:
df1 = df.iloc[0, 0:2].copy() # Ensures modifications to df1 do not alter df
使用列索引和 get_loc:
获取特定列的索引,使用 columns 方法的 get_loc 函数:
column_indices = {df.columns.get_loc(c): c for idx, c in enumerate(df.columns)}
这将返回一个字典,其中键是列索引和值是列名称。然后,您可以将这些索引与 iloc 一起使用来选择所需的列。
以上是如何有效地选择 Pandas DataFrame 中的多个列?的详细内容。更多信息请关注PHP中文网其他相关文章!