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

时间:2016-04-01 17:32:32

标签: python pandas case-insensitive

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

import pandas as pd

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

df2 = df["Size"]

实际的列名是"Size"。我能做些什么才能接受df2 = df["sIZE"]

3 个答案:

答案 0 :(得分:11)

您可以在columns上致电str.lower

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')

答案 1 :(得分:8)

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

执行此操作

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

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

答案 2 :(得分:6)

为什么不对df中的列名称进行规范化?

df.columns = [c.lower() for c in df.columns]