我有两个数据帧:
df1 = row1;row2;row3
df2 = row4;row5;row6;row2
我希望我的输出数据帧只包含df1中唯一的行,即:
df_out = row1;row3
我怎样才能最有效地做到这一点?
这段代码做了我想做的,但是使用了2 for循环:
a = pd.DataFrame({0:[1,2,3],1:[10,20,30]})
b = pd.DataFrame({0:[0,1,2,3],1:[0,1,20,3]})
match_ident = []
for i in range(0,len(a)):
found=False
for j in range(0,len(b)):
if a[0][i]==b[0][j]:
if a[1][i]==b[1][j]:
found=True
match_ident.append(not(found))
a = a[match_ident]
您可以使用带参数} 和外部联接,^{} 进行筛选,然后使用^{} 删除助手列:
indicator
的^{所有列上都联接了数据帧,因此可以省略
on
参数。您可以将} method 确定哪些行共享:
a
和b
转换为Index
s,然后使用^{收益率
相关问题 更多 >
编程相关推荐