为什么在使用 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.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都会报错。
我尝试使用拼音包将中文省份列表转换为拼音,代码如下:
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都会报错。