python - 错误 : The truth value of a Series is ambiguous

标签 python pandas dataframe series

我正在尝试使用以下代码生成新列

list = ['LHR','-1','-3','LGW','MAD','SIN','KUL','JFK','HKG','PVG','IST','SDA','GLA']
for i in list:
    if plotdata.loc[plotdata['LOCATION'] == i] :
        plotdata['city'] = plotdata['LOCATION']
    else:
        plotdata['city'] = 'others'

我收到以下错误:

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

数据类型是类别,请问为什么会出现这个错误?

最佳答案

不确定为什么会收到此错误。但是,最好不要循环遍历 pandas。

您可以通过将“城市”设置为“位置”的任何位置,然后在不在列表中时恢复为“其他”来避免该错误。

city_list = ['LHR','-1','-3','LGW','MAD','SIN','KUL','JFK','HKG','PVG','IST','SDA','GLA']
plotdata['city'] = plotdata['LOCATION']
plotdata.loc[~plotdata['city'].isin(city_list), 'city'] = 'other'

关于python - 错误 : The truth value of a Series is ambiguous,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66860555/

相关文章:

python - Pandas:将数据框列转换为 dict,其中 col 标题作为 dict 键,col 值作为 dict 值

python - 将数据框中的值替换为另一个数据框中的值 - 正则表达式

java - spark 数据集分组和求和

Python opencv 视频捕获给出中止陷阱

python - 在Python中分配数据框中值的渐进计数

python - 在python中将两个变量放入for-in循环中是什么意思

python - 一行 PANDAS 的多个结果

python - Pandas groupby 并与其他数据框求和

python - Flask:应用工厂需要蓝图吗?

python - 正常情况下使用内置 __import__()