使用Pandas DataFrame
,假設我在csv文件中有一堆列,我希望能夠通過不區分大小寫的名稱訪問其中的任何一個列。熊貓:請參考列名,不區分大小寫
import pandas as pd
df = pd.read_csv(path_to_csv, delimiter=",")
df2 = df["Size"]
實際的列名是"Size"
。我該怎麼做才能讓df2 = df["sIZE"]
也能被接受?
使用Pandas DataFrame
,假設我在csv文件中有一堆列,我希望能夠通過不區分大小寫的名稱訪問其中的任何一個列。熊貓:請參考列名,不區分大小寫
import pandas as pd
df = pd.read_csv(path_to_csv, delimiter=",")
df2 = df["Size"]
實際的列名是"Size"
。我該怎麼做才能讓df2 = df["sIZE"]
也能被接受?
您只需調用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')
爲什麼不規範化df
中的列名?
df.columns = [c.lower() for c in df.columns]
您是否嘗試過使用df.columns更改列名到所有較低或大寫?你可以做,使用
df.columns = map(str.lower, df.columns)
也許能夠解決您的問題。
感謝您的建議。這看起來對我來說是更好的答案,因爲我們正在與熊貓一起工作,並且它應該比替代方案快一點。 – Winterflags
你試圖改變使用df.columns全部大寫或小寫的列名?你可以使用「df.columns = map(str.lower,df.columns)」。也許這可以解決你的問題。 –