我正在运行已安装Pandas 0.11.0
库的Python 2.7
。
我一直在寻找一个还没有找到答案的问题,所以我希望有人比我更有经验的解决方案。
假设我的数据在df1中如下所示:
df1=
zip x y access
123 1 1 4
123 1 1 6
133 1 2 3
145 2 2 3
167 3 1 1
167 3 1 2
例如,使用df2 = df1[df1['zip'] == 123]
,然后使用df2 = df2.join(df1[df1['zip'] == 133])
,我得到以下数据子集:
df2=
zip x y access
123 1 1 4
123 1 1 6
133 1 2 3
我想做的是:
1)从df1
中删除行,因为它们是用df2
定义/连接的
或者
2)创建df2
后,删除行(差异?)由df1
组成的df2
希望所有这些都有意义。如果需要更多信息,请告诉我。
编辑:
理想情况下,将创建第三个数据帧,如下所示:
df2=
zip x y access
145 2 2 3
167 3 1 1
167 3 1 2
也就是说,从df1
到df2
的所有内容都不在df2
。谢谢!
我想到了两个选择。首先,使用
isin
和掩码:其次,使用
groupby
:然后任何一个
这在很大程度上取决于上下文,但我想你明白了。
相关问题 更多 >
编程相关推荐