2016-04-01 4 views
5

Mit Pandas DataFrame, sagen wir, ich habe eine Reihe von Spalten in einer CSV Datei, und ich möchte in der Lage, auf eine von ihnen über Groß-und Kleinschreibung Namen zugreifen. Pandas: Beziehen Sie sich auf Spalte Name, Groß-und Kleinschreibung

import pandas as pd 

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

df2 = df["Size"] 

Die tatsächliche Spaltenname ist "Size". Was kann ich tun, damit df2 = df["sIZE"] auch akzeptiert werden kann?

+1

haben Sie versucht, die Spaltennamen zu ändern df.columns an alle unteren oder oberen Fall verwenden? Sie können das mit "df.columns = map (str.lower, df.columns)" tun. Vielleicht kann das dein Problem lösen. –

Antwort

3

können Sie rufen Sie einfach str.lower auf dem 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') 
4

Warum nicht die Spaltennamen in df normalisieren?

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

Haben Sie versucht, die Spaltennamen zu ändern df.columns an alle unteren oder oberen Fall verwenden? Sie können, dass

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

mit tun Vielleicht, dass Ihr Problem lösen können.

+1

Danke für die Vorschläge. Das sieht nach der besseren Antwort für mich aus, wenn man bedenkt, dass wir mit Pandas arbeiten und es angeblich etwas schneller ist als die Alternative. – Winterflags

Verwandte Themen