如何使用apply()将数据框中的数据更改为小写?

2024-04-29 10:03:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框:

         custid  age income     gen   wp   mp  lip
CustAtt                                           
0           101   45   $45K    Male   No  Yes   No
1           106   40   $39K  Female  Yes  Yes  Yes
2           111   42   $46K    Male   No   No   No
3           116   43   $36K    Male  Yes  Yes  Yes
4           121   38   $59K  Female   No  Yes  Yes
5           126   55   $28K  Female   No   No   No
6           131   35   $35K    Male   No  Yes  Yes
7           136   27   $26K    Male  Yes   No   No
8           141   43   $36K    Male   No  Yes   No
9           146   41   $38K  Female  Yes  Yes   No

我要做的是使用apply()和一个函数将所有数据转换成小写。我在互联网上找不到任何显示如何做到这一点的东西,我目前被困在这一点上

def low(x):
    return x.lower()
df.apply(low)

然而,它给了我一个错误,那个就是series对象并没有属性lower。非常感谢您的帮助!谢谢


Tags: 数据noagemplowermalefemaleyes
2条回答

这是因为列custid和age有一个整数值。 整数值没有lower()函数

例如,如果您想将gen的数据更改为小写,您可以像下面这样实现它

df["gen"] = df["gen"].apply(low)
    df.apply(lambda x: x.astype(str).str.lower())



       custid age income     gen   wp   mp  lip
CustAtt                                         
0          101  45   $45k    male   no  yes   no
1          106  40   $39k  female  yes  yes  yes
2          111  42   $46k    male   no   no   no
3          116  43   $36k    male  yes  yes  yes
4          121  38   $59k  female   no  yes  yes
5          126  55   $28k  female   no   no   no
6          131  35   $35k    male   no  yes  yes
7          136  27   $26k    male  yes   no   no
8          141  43   $36k    male   no  yes   no
9          146  41   $38k  female  yes  yes   no

相关问题 更多 >