基于下面的数据框(1),我希望创建一个数据框(2),其中y或z等于2.是否有方法可以方便地执行此操作?根据两个条件选择python数据框中的行
如果我要创建一个仅包含dataframe(1)但不包含dataframe(2)的行的数据框(3),我该如何处理它?
id x y z
0 324 1 2
1 213 1 1
2 529 2 1
3 347 3 2
4 109 2 2
...
基于下面的数据框(1),我希望创建一个数据框(2),其中y或z等于2.是否有方法可以方便地执行此操作?根据两个条件选择python数据框中的行
如果我要创建一个仅包含dataframe(1)但不包含dataframe(2)的行的数据框(3),我该如何处理它?
id x y z
0 324 1 2
1 213 1 1
2 529 2 1
3 347 3 2
4 109 2 2
...
您可以轻松创建df2
足够使用条件:
df2 = df1[df1.y.eq(2) | df1.z.eq(2)]
df2
x y z
id
0 324 1 2
2 529 2 1
3 347 3 2
4 109 2 2
鉴于df2
和df1
,你可以对指数进行组差异操作,如此:
df3 = df1.iloc[df1.index.difference(df2.index)]
df3
x y z
id
1 213 1 1
你可以做到以下几点:
import pandas as pd
df = pd.read_csv('data.csv')
df2 = df[(df.y == 2) | (df.z == 2)]
print(df2)
结果:
id x y z
0 0 324 1 2
2 2 529 2 1
3 3 347 3 2
4 4 109 2 2
请在发布之前阅读已有的答案,我已经在我的答案中介绍了这一点。 https://stackoverflow.com/a/47360167/4909087 –
我没有看到你的答案,因为我正在写我的。我可以将其删除 – sera
如果它是偶然的,这不是问题。只需在发布之前检查:-)如果我们在1-2分钟之内发帖,但是我们之间的差距差不多是8分钟。 –
如果你的问题得到回答,不要忘了[上投票,并接受一个答案(https://开头stackoverflow.com/help/someone-answers)。谢谢。 –