我有一列,里面有文字。我必须替换 (‘:’,’ ‘)。
当我运行这段代码时:
df["text"] = [x.replace(':',' ') for x in df["text"]]
我面临这个错误:
AttributeError: 'float' object has no attribute 'replace'
AttributeError Traceback (most recent call
last)
<ipython-input-13-3c116e6f21e2> in <module>
1 #df["text"] = df["text"].astype(str)
----> 2 df["text"] = [x.replace(':',' ') for x in df["text"]]
<ipython-input-13-3c116e6f21e2> in <listcomp>(.0)
1 #df["text"] = data["NOTES_ENT"].astype(str)
----> 2 df["text"] = [x.replace(':',' ') for x in df["text"]]
AttributeError: 'float' object has no attribute 'replace'
原文由 anil 发布,翻译遵循 CC BY-SA 4.0 许可协议
在我看来,问题是列中缺少值,因此使用 pandas 方法
Series.str.replace
或Series.replace
代替列表理解:或者:
列表理解的解决方案是可能的,只需要测试字符串的 if-else 语句:
样本: