当前位置: 首页 > 知识库问答 >
问题:

查找一个值是否退出熊猫数据框列使用'in'不工作?

吴高远
2023-03-14

我目前正在写一个脚本来过滤csv输出数据周期的自动化机器。我想要的是提供一个循环的开始和停止的索引,并检查机器“状态”列是否包含一个int值12。我正在查看前两个循环,并为较小的L数据帧运行完全相同的代码,但不同的索引。对于第一个循环[0:16],v按预期返回true。然而,第二个循环将v返回为False,即使状态列包含12。目标是最终在列表中找到每个周期的索引(当key==102时),并循环以找出状态12是否在每个周期中执行。

下面是数据帧的快照第一个循环:第一个循环

这是第二个周期前半部分的快照:第二个周期

两个数据帧在状态列中的值均为12。因此,如果我使用“in”,它应该返回True。

L = df[0:16]

#exists = 12 in L.state

v = 12 in L.state
print(v)

如上所示,返回True。

L = df[16:51]

#exists = 12 in L.state

v = 12 in L.state
print(v)

上面的返回值为False,这让我很困惑。

由于相同的数据帧用于使较小的L数据帧和相同的L状态调用12返回一个bool。有人知道我错过了什么吗,为什么这段代码在第二组索引上执行不同?

共有1个答案

丌官凯康
2023-03-14

这是因为当你在一个系列中使用进行比较时,它正在检查索引。如果要检查值,请在L.state.values中使用v=12。我在相关的SO评论中看到了这个答案。

https://stackoverflow.com/a/40419531/14473410

 类似资料:
  • 问题内容: 我有点被困在提取另一个变量的条件变量的值上。例如,以下数据框: 如何获得when的价值?每当我提取的值时,我都会得到一个对象,而不是字符串。 问题答案: 您可以用来获取满足条件的序列,然后获取第一个元素:

  • 我试图检查python列中是否包含某个值。我正在使用,这无疑是一个很好的工具。问题是我有超过350K行,输出不会显示所有行,这样我就可以看到值是否实际包含。简单地说,我只想知道(Y/N)列中是否包含特定的值。我的代码如下:

  • 如果列表中的值存在于其中一个dataframe列中,我需要迭代列表并执行特定操作。我试着按照下面的方法做,但发现了下面的错误 '错误:#序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all() 所需输出:

  • 问题内容: 我想查看数据框内特定列中是否存在特定字符串。 我遇到了错误 ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。 问题答案: 将返回大小为布尔值的指标向量 因此,您可以使用 或者,如果您不在乎有多少条记录与您的查询匹配

  • 问题内容: 我正在寻找一种方法来反向旋转数据框。据我所知,pandas提供了一种pivot或pivot_table方法将EAV df转换为“普通”方法。但是,还有一种方法可以做逆运算吗? 所以给定数据框: 我想将其转换为(EAV模型): 这样做最有效的方法是什么? 问题答案: 假设是索引,将执行以下操作: 如果不是索引,请像这样设置:

  • 我有一个数据框,只有一列和1200行。每行中总共有3个可能的值-“无差异”、“异性”或“同性”。列标题是“Friends”,我试图使用 但结果是一个空的数据帧(df2)