aro*_*oma 2 python pandas jupyter-notebook
我有一个带有一些列的 Pandas Datarame,我首先想只打印特定列中值小于某个值的那些行。所以我做了:
df[df.marks < 4.5]
Run Code Online (Sandbox Code Playgroud)
它成功创建了数据框,现在我只想添加那些值在某个范围内的列,所以我尝试了这个:
df[(df.marks < 4.5 and df.marks > 4)]
Run Code Online (Sandbox Code Playgroud)
但它给了我一个错误:
712 raise ValueError("The truth value of a {0} is ambiguous. "
713 "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
--> 714 .format(self.__class__.__name__))
715
716 __bool__ = __nonzero__
ValueError: The truth value of a Series is ambiguous. Use a.empty,
a.bool(), a.item(), a.any() or a.all().
Run Code Online (Sandbox Code Playgroud)
我该如何解决?最初我还认为它会遍历所有行并检查真值,然后在数据框中添加行,但似乎并非如此,如果是这样,它如何在数据框中添加行?
小智 5
用
df[(df.marks < 4.5) & (df.marks > 4)]
Run Code Online (Sandbox Code Playgroud)
更一般地,数组逻辑操作使用括号来组合各个条件:
(a < b) & (c > d)
Run Code Online (Sandbox Code Playgroud)
类似的 OR 组合,或 2 个以上的条件。
这就是它在 NumPy 中的设置方式,在数组上使用布尔运算符,而 Pandas 已经复制了这种行为。
归档时间: |
|
查看次数: |
2890 次 |
最近记录: |