在读入两个CSV文件A和B之后,我想删除B中的所有行 其前两列与表中任何行的前两列不匹配。 然后将B保存到磁盘。你知道吗
到目前为止,我掌握的情况如下:
A = pd.read_csv('A.csv', header=None)
B = pd.read_csv('B.csv', header = None)
for row_A in A.iterrows():
foundMatch = False
for row_B in B.iterrows():
if (row_A[0] == row_B[0] and row_A[1] == row_B[1]) :
foundMatch = True
break
if (!foundMatch)
# delete row from B
B.to_csv('B_filtered.csv', index=False, header=None)
IIUC,给定两个数据帧:
您可以首先
transform
将前两列变成tuples
(从而成为可散列对象),然后使用isin
检查df
a中是否存在这样的对,即所以呢
这给了
那就保存它
to_csv
(旁注:只要可能,尽量不要在数据帧中使用迭代。性能将很差,您将失去此库的真正功能)
您还可以尝试使用^{} 库的纯python解决方案:
相关问题 更多 >
编程相关推荐