Funktion applymap
verwendet -Wise, also für die Änderung Spalte Namen sind eine andere Methode.
Ich glaube, Sie brauchen list comprehension
mit python str
Funktion lower
und replace
(es nicht, wenn NaN
funktioniert):
df.columns = [col.lower().replace(' ', '_') for col in df.columns]
print (df)
registrar enrolment_agency state district sub_district \
0 Allahabad Bank Tera Software Ltd Jharkhand Ranchi Namkum
1 Allahabad Bank Tera Software Ltd Jharkhand Ranchi Ranchi
2 Allahabad Bank Vakrangee Softwares Limited Gujarat Surat Nizar
pin_code gender
0 834003 M
1 834004 F
2 394380 M
Oder Lösung mit pandas str
Funktion lower
und replace
:
df.columns = df.columns.str.replace(' ', '_').str.lower()
print (df)
registrar enrolment_agency state district sub_district \
0 Allahabad Bank Tera Software Ltd Jharkhand Ranchi Namkum
1 Allahabad Bank Tera Software Ltd Jharkhand Ranchi Ranchi
2 Allahabad Bank Vakrangee Softwares Limited Gujarat Surat Nizar
pin_code gender
0 834003 M
1 834004 F
2 394380 M
EDIT:
Wenn die Spaltennamen durch applymap
geändert werden müssen, ist dies unmöglich, da diese Funktion nicht für Index
(column names
) implementiert ist. Aber wenn wirklich wollen etwas ähnliches verwenden map
:
df.columns = df.columns.map(lambda col: col.lower().replace(' ', '_'))
print (df)
registrar enrolment_agency state district sub_district \
0 Allahabad Bank Tera Software Ltd Jharkhand Ranchi Namkum
1 Allahabad Bank Tera Software Ltd Jharkhand Ranchi Ranchi
2 Allahabad Bank Vakrangee Softwares Limited Gujarat Surat Nizar
pin_code gender
0 834003 M
1 834004 F
2 394380 M
Ich weiß nicht, dass df.columns() uns eine Liste geben Spaltennamen. Danke für die Informationen, viel gelernt !! Ich werde map() verwenden. –