在datafram中使用条件值时出错

2024-09-27 19:28:06 发布

您现在位置:Python中文网/ 问答频道 /正文

如果单词Thunderstormwdf['Notes']列中,我试图使用以下代码将一个新列wdf['Thunder']设置为wdf['RngT]的值。但是,我不断得到错误TypeError: argument of type 'float' is not iterable。所有列都不是浮点数。RngT是一个int,Notes是一个对象。完整代码为:

wdf['Thunder'] = [wdf['RngT'] if 'Thunderstorm' in x else 0 for x in wdf['Notes']]

熊猫是新手,所以如果有任何见解,我将不胜感激

谢谢


Tags: of代码inistype错误floatargument
1条回答
网友
1楼 · 发布于 2024-09-27 19:28:06

您可以考虑一个性能替代方案,^ {CD1>}:

wdf['Thunder'] = np.where(
    wdf['Notes'].astype(str).str.contains('Thunderstorm'), wdf['RngT'], 0
)

请注意,您的第一种方法可能不起作用,因为您的列混合了字符串和浮点。在检查包含之前使用astype(str)应该可以解决这个问题

相关问题 更多 >

    热门问题