我有一个数据框,其中有一列数据如下所示:
AAH.
AAH.
AAR.UN
AAR.UN
AAR.UN
AAR.UN
AAV.
AAV.
AAV.
我想我需要使用 apply 方法来修剪列数据。因此,如果句点之后有任何内容,则保持数据不变,但如果句点之后没有任何内容,则仅返回末尾不带句点的字母。我知道我可能可以使用 lambda 函数,也许可以使用字符串分割或其他东西来做到这一点,但没有太多的想法来实现它。
这是我到目前为止所拥有的:
df.apply(lambda x: string.split('.'))
我不确定是否可以通过这种方式使用 if 语句或 lambda 函数?
任何指导表示赞赏。
由于只有一列,您可以通过以下方式利用矢量化字符串操作.str
(docs http://pandas.pydata.org/pandas-docs/stable/basics.html#vectorized-string-methods):
>>> df
0
0 AAH.
1 AAH.
2 AAR.UN
3 AAR.UN
4 AAR.UN
5 AAR.UN
6 AAV.
7 AAV.
8 AAV.
>>> df[0] = df[0].str.rstrip('.')
>>> df
0
0 AAH
1 AAH
2 AAR.UN
3 AAR.UN
4 AAR.UN
5 AAR.UN
6 AAV
7 AAV
8 AAV
否则你必须做类似的事情df.applymap(lambda x: x.rstrip("."))
,或者下拉到 numpychar
方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)