Pandas:参考列名,不区分大小写

新手上路,请多包涵

使用 Pandas DataFrame ,假设我在 csv 文件中有一堆列,我希望能够通过不区分大小写的名称访问其中的任何一个。

 import pandas as pd

df = pd.read_csv(path_to_csv, delimiter=",")

df2 = df["Size"]

实际列名是 "Size" 。我该怎么做才能使 df2 = df["sIZE"] 也被接受?

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

阅读 1.6k
2 个回答

您可以在 str.lower columns

 In [12]:
df = pd.DataFrame(columns=['Size','COLOUR','caTegory'])
df.columns

Out[12]:
Index(['Size', 'COLOUR', 'caTegory'], dtype='object')

In [14]:
df.columns = df.columns.str.lower()
df.columns

Out[14]:
Index(['size', 'colour', 'category'], dtype='object')

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

您是否尝试过使用 df.columns 将列名更改为全部小写或大写?你可以使用

df.columns = map(str.lower, df.columns)

也许这可以解决您的问题。

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

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