为什么在使用 apply lambda 时出现错误“'float' object is not iterable”

why I got an error ''float' object is not iterable' while using apply lambda

我尝试使用拼音包将中文省份列表转换为拼音,代码如下:

df['province'] = df['comb_province'].apply(lambda x: pinyin.get(x, format="strip", delimiter=''))

但我收到一条错误消息:'float' 对象不可迭代。为什么会这样?我该如何解决?

谢谢!

您可能在 df["comb_province"] 列中遇到了 numpy.nanNone 值。因此,您可以尝试使用以下代码删除带有 numpy.nan 的那些行:

df = df[~df["comb_province"].isnull()]

或者如果您希望保留 numpy.nan 或 None 的行,则使用以下内容:

df["comb_province"] = df["comb_province"].astype(str)

你原来的代码可能是strip或者split,跟字符串操作相关的东西,遇到numpy.nan或者None都会报错。​​