Series 的真值是模棱两可的。如何修复此错误? [复制]
Posted
技术标签:
【中文标题】Series 的真值是模棱两可的。如何修复此错误? [复制]【英文标题】:The truth value of a Series is ambiguous. How do I fix this error? [duplicate] 【发布时间】:2020-03-31 23:11:11 【问题描述】:我正在尝试仅针对具有 if 条件的行绘制图表。据我所知,这就是我所做的。
b = pd.read_csv('Zlatan_ClubComp.csv')
print(b.head())
if (b['Competition_Type'] == 'League'):
pp = sns.pairplot(b, y_vars=['Appearances'], x_vars=['Goals_PerGame', 'Minutes_PerGoal'], hue="Club")
plt.show()
Zlatan_ClubComp 是我从中获取数据的 csv 文件。我已经运行了代码,这是我得到的错误,
Traceback (most recent call last):
File "C:/Users/Siddhardh/Desktop/Python/Projects/Zlatan_Analysis/PairPlots.py", line 13, in <module>
if (b['Competition_Type'] == "League"):
File "C:\Users\Siddhardh\Desktop\OiDS Project\Zlatan_Analysis\lib\site-packages\pandas\core\generic.py", line 1555, in __nonzero__
self.__class__.__name__
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
从我所做的谷歌搜索中,我知道 pandas 将条件语句的真值视为模棱两可。但是,我似乎无法解决这个问题。
【问题讨论】:
前提是有缺陷的,因为 if 条件只能在标量上指定。您正在对返回一列布尔值的列应用条件。你明白为什么这不起作用吗?此外,副本中的答案也应该回答您的问题。 我遇到了类似的问题,对我来说,当df
不包含为hue
参数指定的列时会导致此错误。
【参考方案1】:
b = pd.read_csv('Zlatan_ClubComp.csv')
print(b.head())
b = b[b['Competition_Type'] == 'League']
pp = sns.pairplot(b, y_vars=['Appearances'], x_vars=['Goals_PerGame', 'Minutes_PerGoal'], hue="Club")
plt.show()
【讨论】:
以上是关于Series 的真值是模棱两可的。如何修复此错误? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
sklearn 具有多个元素的数组的真值是模棱两可的。使用 a.any() 或 a.all() 错误
ValueError:一个系列的真值在一个热编码错误中不明确
基于if语句的for循环,错误消息= Series的真值不明确[重复]
错误:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
pandas 错误:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()