功能applymap
用于改变DataFrame
元件的所有值因此,对于更改列名是另一种方法。
我认为你需要list comprehension
与python str
功能lower
和replace
(它不一样,如果NaN
工作):
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
或用pandas str
功能lower
和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
编辑:
如果需要更改列名称applymap
,这是不可能的,因为此功能不适用于Index
(column names
)。但如果真的想要类似的东西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
我不知道df.columns()给我们一个列表列名。感谢信息,学到了很多!我将使用map()。 –