使用Pandas DataFrame
,我们说 csv 文件中有一堆列,我希望能够通过不区分大小写的名称访问其中任何一个列
import pandas as pd
df = pd.read_csv(path_to_csv, delimiter=",")
df2 = df["Size"]
实际的列名是"Size"
。我能做些什么才能接受df2 = df["sIZE"]
?
答案 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]