python - 熊猫,真值和模棱两可的真值有什么区别?ValueError: Series 的真值不明确
问题描述
在 python 3. 使用库 pandas 时,使用休闲代码时
def check_question(df):
mylambda = lambda x: x if x==x else x
return df.apply(mylambda)
print(check_question(df))
控制台给出了闲置的 ValueError:
ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
经过几次尝试,休闲代码修复了它:
def check_question(df):
mylambda = lambda x: x if [x==x] else x
return df.apply(mylambda)
print(check_question(df))
我知道,这与熊猫库有关:Stackoverflow:一个系列的真值是模棱两可的
我意识到,当 [] 之间的封装时,表达式 x==x 值从不明确的值变为真值。我对它的含义有一个模糊的概念,但如果有人能启发我更多关于它的知识,我将不胜感激。
解决方案
您的第二个示例不会导致 a ValueError
,因为您正在检查定义的 Python 列表(在本例中[x == x]
)的真值。相反,没有定义 Series 的真值(正如您所提到的)。
另请参阅https://docs.python.org/3/library/stdtypes.html#truth-value-testing
推荐阅读
- blazor - Blazor 服务器应用 $(document).ready() 等效项
- python - 使用 for 循环和 group by 计算百分比
- flutter - 自定义钩子中是否需要上下文?
- python - 最大化给定容量的价值
- node.js - 如何将缩小的第三方库加载或添加到 webpack 应用程序中?
- java - Thymeleaf Checkbox Binding - 发送布尔值而不是值
- laravel - Laravel:保存/附加/同步自定义枢轴模型(belongsToMany)
- javascript - 如何计算时间表的两次之间的时隙
- java - 为什么我在流中执行价格映射后无法访问 itemName?
- javascript - 如何从 Cloud Firestore 中删除集合及其所有子集合和文档