我现在正在研究有关熊猫的教程,并提到作者(但尚未解释),如果您要从数据框中选择一些列,则最好的方法就是使用
df.loc[:,[list_of_column_names]]
。
另一种对我自己更方便的方法df[[list_of_column_names]]
可能会引起一些问题,因此不建议使用。
但是为什么呢? 第二种选择可以解决哪些问题?
此外,从数据框中选择列的最佳方法是什么?
Thx
答案 0 :(得分:0)
只是为自己澄清一下,也许会发现隐藏的问题。
以防万一,当使用链接索引时,还不清楚我们会收到什么样的对象作为响应。
如果仅使用df[column_name]
,我们将收到原始数据帧的视图。但是如果是布尔切片,例如df[column name < 5]
我们收到了原始数据帧的副本。在这种情况下,所有进一步的更改都不会保存在原始数据框中。
因此,最后,如果您需要将所有操作保存到原始数据帧中,请使用df.loc[(boolean_rows_slicing or :), [list_of _columns]]
。所有切片操作合而为一。
如果不需要保存工作,请使用.copy()
。
例如。 df.loc[(boolean_rows_slicing or :), [list_of _columns]].copy()
也许我错了。在这种情况下,请告诉我。谢谢