gpt4 book ai didi

python - Pandas 数据框(选择)

转载 作者:行者123 更新时间:2023-11-28 21:54:27 25 4
gpt4 key购买 nike

简单的 pandas 数据框问题在这里。

我通过读取 csv 文件创建数据框,打印它

    <class 'pandas.core.frame.DataFrame'>
Int64Index: 176 entries, 0 to 175
Data columns (total 8 columns):
ID 176 non-null values
study 176 non-null values
center 176 non-null values
initials 176 non-null values
age 147 non-null values
sex 133 non-null values
lesion age 35 non-null values
group 35 non-null values
dtypes: float64(2), int64(1), object(5)

为什么当我尝试根据某些从数据框中选择行时这会给我一个错误条件

SUBJECTS[SUBJECTS.study=='NO2' and SUBJECTS.center=='Hermann']

错误信息:

    ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

非常感谢您。

最佳答案

使用:

SUBJECTS[(SUBJECTS.study=='NO2') & (SUBJECTS.center=='Hermann')]

and 导致 Python 计算 SUBJECTS.study=='NO2' andSUBJECTS.center=='Hermann') 在 bool 上下文中(TrueFalse。)

在您的情况下,您不希望将两者都评估为 bool 值。相反,您需要元素方面的逻辑 。这是由 & 而不是 and 指定的。


错误

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

每当您尝试在 bool 上下文中评估 NumPy 数组或 Pandas NDFrame 时都会引发。考虑

bool(np.array([True, False]))

有些用户可能希望返回 True,因为数组非空。或者有些人可能期望 True,因为数组的至少一个元素是 True。其他人可能希望它返回 False,因为并非数组中的所有 元素都是 True。由于对 bool 上下文应该返回什么有多种同样有效的期望,NumPy 和 Pandas 的设计者决定强制用户明确:使用 .all().any( )len()

关于python - Pandas 数据框(选择),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24234215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com