2016-04-01 33 views
5

Pandas DataFrame'u kullanarak, csv dosyasında bir grup sütunun olduğunu ve büyük/küçük harf duyarsız adıyla bunlardan birine erişmek istediğimi varsayalım.Pandalar: Sütun adı, büyük/küçük harf duyarlı

import pandas as pd 

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

df2 = df["Size"] 

Gerçek sütun adı "Size"'dur. df2 = df["sIZE"]'un da kabul edilebilmesi için ne yapabilirim?

+1

tüm alt veya üst davaya df.columns kullanılarak sütun adlarını değiştirme denedi? Bunu "df.columns = map (str.lower, df.columns)" kullanarak yapabilirsiniz. Belki sorununuzu çözebilir. –

cevap

3

sadece columns üzerinde str.lower çağırabilirsiniz:

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

Neden sütun adlarını df normalleştirmek değil?

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

Tüm alt veya büyük harflere df.columns kullanarak sütun adlarını değiştirmeyi denediniz mi? Sen

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

kullanarak Belki bu sorunu çözebilir bunu yapabilir.

+1

Öneriler için teşekkürler. Bu, Panda'larla çalıştığımız ve sözüm ona alternatiften biraz daha hızlı olduğu düşünülürse bana daha iyi bir cevap gibi görünüyor. – Winterflags

İlgili konular