从python pandas中的列名获取列索引

新手上路,请多包涵

在 R 中,当您需要根据列名检索列索引时,您可以执行

idx <- which(names(my_data)==my_colum_name)

有没有办法对熊猫数据框做同样的事情?

原文由 ak3nat0n 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

当然,您可以使用 .get_loc()

 In [45]: df = DataFrame({"pear": [1,2,3], "apple": [2,3,4], "orange": [3,4,5]})

In [46]: df.columns
Out[46]: Index([apple, orange, pear], dtype=object)

In [47]: df.columns.get_loc("pear")
Out[47]: 2

虽然说实话,我自己并不经常需要这个。通常按名称访问是我想要的( df["pear"]df[["apple", "orange"]] ,或者可能 df.columns.isin(["orange", "pear"]) ),尽管我肯定会看到你想要的情况索引号。

原文由 DSM 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是通过列表理解的解决方案。 cols 是要获取索引的列的列表:

 [df.columns.get_loc(c) for c in cols if c in df]

原文由 snovik 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题