gpt4 book ai didi

python - 我可以使用 applymap 更改数据框的变量名称吗

转载 作者:太空宇宙 更新时间:2023-11-03 12:56:00 27 4
gpt4 key购买 nike

如果我想使用 pandas 更改数据框中的变量名称,我可以不使用 pandas.df.rename() 函数而是使用 applymap() 来更改名称吗例如

Registrar   Enrolment Agency    State   District    Sub District    Pin Code    Gender
Allahabad Bank Tera Software Ltd Jharkhand Ranchi Namkum 834003 M
Allahabad Bank Tera Software Ltd Jharkhand Ranchi Ranchi 834004 F
Allahabad Bank Vakrangee Softwares Limited Gujarat Surat Nizar 394380 M

我需要用“_”填充上述数据框中变量名的空格,并且所有变量名都应为小写

最佳答案

函数applymap用于按元素更改 DataFrame 的所有值,因此更改列名是另一种方法。

我认为您需要使用 python str 函数 lowerreplacelist comprehension(如果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 函数的解决方案 lowerreplace :

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

关于python - 我可以使用 applymap 更改数据框的变量名称吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41920198/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com