我有这个熊猫数据框:
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)
但是,它给我的错误是系列对象没有较低的属性。任何帮助,不胜感激!谢谢!
答案 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