当前位置: 首页 > 面试题库 >

如何在pandas数据框列中选择一个值范围?

丌官盛
2023-03-14
问题内容
import pandas as pd
import numpy as np
data = 'filename.csv'
df = pd.DataFrame(data)
df

        one       two     three  four   five
a  0.469112 -0.282863 -1.509059  bar   True
b  0.932424  1.224234  7.823421  bar  False
c -1.135632  1.212112 -0.173215  bar  False
d  0.232424  2.342112  0.982342  unbar True
e  0.119209 -1.044236 -0.861849  bar   True
f -2.104569 -0.494929  1.071804  bar  False

我想为某个列(例如column)选择一个范围two。我想选择-0.5到+0.5之间的所有值。如何做到这一点?

我希望使用

-0.5 < df["two"] < 0.5

但这(自然)给出了ValueError:

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

我试过了

-0.5 (< df["two"] < 0.5)

但这全部输出了True

正确的输出应该是

0    True
1    False
2    False
3    False
4    False
5    True

在pandas数据框列中查找值范围的正确方法是什么?

编辑:问题

使用.between()

df['two'].between(-0.5, 0.5, inclusive=False)

将是之间的区别

 -0.5 < df['two'] < 0.5

和不平等之类的

 -0.5 =< df['two'] < 0.5


问题答案:

使用betweeninclusive=False严格的不平等:

df['two'].between(-0.5, 0.5, inclusive=False)

inclusive参数确定是否包括端点(True<=False:)<。这适用于两个标志。如果要混合不等式,则需要明确地编码它们:

(df['two'] >= -0.5) & (df['two'] < 0.5)


 类似资料:
  • 问题内容: 我在不同的列中有数据,但是我不知道如何提取数据以将其保存在另一个变量中。 如何选择然后将其保存到df1中? 我试过了 似乎没有任何工作。 问题答案: 列名(字符串)无法按照你尝试的方式进行切片。 在这里,你有两个选择。如果从上下文中知道要切出哪些变量,则可以通过将列表传递给语法来仅返回那些列的视图。 或者,如果需要对它们进行数字索引而不是按其名称进行索引(例如,你的代码应在不知道前两列

  • 问题内容: 我必须阅读一些文件,其中一些文件采用Excel格式,有些文件采用CSV格式。一些文件具有数百列。 有没有一种方法可以选择多个列范围而不指定所有列名或位置?例如,选择第1 -10、15、17和50-100列: 从Excel文件和CSV文件创建数据框时以及创建数据框框程序后,我都需要知道如何执行此操作。 问题答案: 采用 所以你可以做

  • 问题内容: 可以说我有以下熊猫数据框: 我可以根据特定的值进行子集化: 但是如何根据值列表进行子集设置呢?-这样的东西: 问题答案: 您可以使用方法: 并得到相反的用法:

  • 问题内容: 我已经做了一些寻找该问题答案的搜索,但是我能弄清楚的是: 在我看来,这似乎很古怪,又不合蟒蛇风(而且很慢?)。 在不指定列名的情况下,为pandas数据框中的最后一列选择数据的最简单方法是什么? 问题答案: 使用iloc并针对最后一列()选择所有行():

  • 基于单个值/标签的切片 基于一个或多个级别的多个标签的切片 布尔条件和表达式的过滤 哪些方法适用于什么情况 为简单起见的假设: 输入数据表没有重复的索引键 下面的输入数据只有两个级别。(此处所示的大多数解决方案都概括为N个级别) 问题2b 我如何获得级别“二”中对应于“t”和“w”的所有值? 如何从检索横截面,即具有索引特定值的单行?具体来说,如何检索的横截面,由 如何选择与和相对应的两行?

  • 问题内容: 我有以下熊猫数据框: 产生此结果: 我如何传播,以便最终得到这个: 问题答案: 使用或: 但是,如果重复,需要或集合体,或可以改变,…: ValueError:索引包含重复的条目,无法重塑 编辑: 对于设置为和的清洁: