2016-04-01 18 views
5

Pandas DataFrameを使用しています。のcsvファイルにカラムがたくさんあり、大文字小文字を区別しない名前でそれらのいずれかにアクセスしたいと考えています。パンダ:カラム名を参照してください。大文字と小文字を区別しない

import pandas as pd 

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

df2 = df["Size"] 

実際の列名は"Size"です。 df2 = df["sIZE"]も受け入れることができますか?

+1

はすべて小文字または大文字にdf.columnsを使用して列名を変更しようとしましたか?あなたは "df.columns = map(str.lower、df.columns)"を使ってそれを行うことができます。多分あなたの問題を解決することができます。 –

答えて

3

あなただけcolumnsstr.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') 
4

なぜdf内の列名を正規化しませんか?

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

はすべて小文字または大文字にdf.columnsを使用して列名を変更しようとしたことがありますか?あなたは

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

を使用すると、多分それはあなたの問題を解決できることを行うことができます。

+1

提案していただきありがとうございます。これは、私がパンダと仕事をしていることを考えれば、私にとってより良い答えのようです。 – Winterflags

関連する問題