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

时间:2020-10-01 01:09:25

标签: python pandas dataframe

我有这个熊猫数据框:

         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)

但是,它给我的错误是系列对象没有较低的属性。任何帮助,不胜感激!谢谢!

2 个答案:

答案 0 :(得分:2)

这是因为列的“监护权”和“年龄”具有整数值。 整数值不具有lower()函数。

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

df["gen"] = df["gen"].apply(low)

答案 1 :(得分:2)

    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