Python 为什么我会出错'';浮动';对象不可编辑';使用时应用lambda
我尝试将中国省份列表转换为拼音使用拼音包,代码如下:Python 为什么我会出错'';浮动';对象不可编辑';使用时应用lambda,python,lambda,apply,pinyin,Python,Lambda,Apply,Pinyin,我尝试将中国省份列表转换为拼音使用拼音包,代码如下: df['province'] = df['comb_province'].apply(lambda x: pinyin.get(x, format="strip", delimiter='')) 但我有一个错误:“float”对象是不可编辑的。为什么会发生这种情况?我怎样才能修好它 谢谢大家! 您可能在df[“comb_province”]列中遇到了numpy.nan或None值。因此,您可以使用以下代码尝试使用nump
df['province'] = df['comb_province'].apply(lambda x: pinyin.get(x, format="strip", delimiter=''))
但我有一个错误:“float”对象是不可编辑的。为什么会发生这种情况?我怎样才能修好它
谢谢大家! 您可能在df[“comb_province”]列中遇到了
numpy.nan
或None
值。因此,您可以使用以下代码尝试使用numpy.nan删除这些行:
df = df[~df["comb_province"].isnull()]
或者,如果希望使用numpy.nan或None保留行,则使用以下命令:
df["comb_province"] = df["comb_province"].astype(str)
原始代码可能是与字符串操作相关的
strip
或split
,遇到numpy.nan或None时会抛出错误。请提供预期的(MRE)。显示中间结果与您预期的不同之处。我们应该能够复制和粘贴一个连续的代码块,执行该文件,并再现您的问题以及跟踪问题点的输出。这使我们可以根据您的测试数据和所需的输出测试我们的建议。请作为您的MRE的一部分。如果我想让所有行与nan值保持一致,该怎么办?我可以在代码中添加一些内容吗?最后,我尝试添加了“如果x不是None”,但没有效果。正如您所解释的,输入数据帧可能也没有类型,然后尝试按照建议将它们转换为str
类型。@Qing如果您能接受我的解决方案,作为解决您问题的答案,我将不胜感激。