我没有找到像我这样的问题... ...
顺便说一下,我有一个带列的df Year
像这样。
2009)
1998)
2000)
1980)
2002)
nan
nan
nan
2014)
1973)
nan
我想把括号剪掉,但是当我用... ... data['Year'] = data['Year'][:-1]
一事无成
如果我使用 data['Year'] = data['Year'].apply(lambda x: x[:-1])
它给我
TypeError: 'float' object is not subscriptable
我猜测问题出在 "nan "值上,但如何解决这个问题?应该是可以将nans转换为0的。
非常感谢
我通常这样做。
data['Year'] = data['Year'].apply(lambda x: x[:-1] if isinstance(x, str) else '')
在else之后,你可以放上你想出现的值,如果它不是一个字符串。
Pandas实现了一个 .str
属性来操作文本数据。
data['Year'] = data['Year'].str[:-1]