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

目录

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

问题:

解决:

完整错误:


问题:

出现此错误是因为Python的逻辑运算符(and、or、not)是用来与布尔值(boolean)一起使用的,所以当试图将它们与序列或数组一起使用时,系统程序不清楚如何确定它是真的还是假的,因此会导致ValueError。

import pandas as pddata = {'Name': ['Microsoft Corporation', 'Google, LLC', 'Tesla, Inc.',\ 'Apple Inc.', 'Netflix, Inc.'],'Symbol': ['MSFT', 'GOOG', 'TSLA', 'AAPL', 'NFLX'],'Industry': ['Tech', 'Tech', 'Automotive', 'Tech', 'Entertainment'],'Shares': [100, 50, 150, 200, 80]}df = pd.DataFrame(data)# print(df)dfdf_filtered = df[(df['Shares']>=100) and (df['Shares']<=150)]df_filtered# print(df_filtered)

解决:

将and改为&

df_filtered = df[(df['Shares']>=100) & (df['Shares']<=150)]df_filtered# print(df_filtered)

完整错误:

---------------------------------------------------------------------------ValueErrorTraceback (most recent call last) in ----> 1 df_filtered = df[(df['Shares']>=100) and (df['Shares'] 1443 f"The truth value of a {type(self).__name__} is ambiguous. " 1444 "Use a.empty, a.bool(), a.item(), a.any() or a.all()." 1445 )ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

参考:pandas

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