我可以检查pandas列中是否有多个值?

2024-10-01 15:48:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在检查我的期望值是否都在pandas dataframe中。预期值是预先知道的,并且数据帧是从数据库查询自动生成的。在

这是我想做的一个例子

import pandas as pd
import StringIO

expected_ids = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
csv = StringIO.StringIO("""ExpectedID,Random Value
1,val1
2,val2
3,val3
8,val8
9,val9
10,val10
""")
df = pd.read_csv(csv, sep=",")

for e in expected_ids:
    if e not in df['ExpectedID']:
        print "Missing: ", e

我的问题是,我必须逐个检查我期望的每个值,在我的实际代码中大约有14000个这样的值。我还想把丢失的数据拉到另一个数据帧中,以后我可以操作它,但不知道如何操作。在

我的另一个问题是上面的打印:

^{pr2}$

这些值并不都是正确的。我失踪了6号和7号,但8号、9号和10号在国防部。也没有说4号和5号失踪。在

如何准确地检查数据帧列中是否有多个值?在


Tags: csv数据inimport数据库idsdataframepandas
1条回答
网友
1楼 · 发布于 2024-10-01 15:48:02

df['ExpectedId']Series,在测试成员身份时其行为类似于dict

In [5]: df.ExpectedId
Out[5]:
0     1
1     2
2     3
3     8
4     9
5    10
Name: ExpectedID, dtype: int64

In [6]: 0 in df['ExpectedID']
Out[6]: True

您应该测试df['ExpectedId'].values中的成员资格。在

相关问题 更多 >

    热门问题