我有一个按以下格式排序的CSV文件 -
X,Y
0,0
0,1
0,2
1,0
1,1
2,0
2,1
2,1
此处,缺少值1,2
。这只是一个示例,我的文件包含100万条记录,缺少几千条记录。如何编写脚本来检测并将这些值附加到文件中?
我已尝试生成所有可能的对并检查它们是否存在于文件中,但速度太慢 -
import csv
with open('myfile.csv') as csvfile:
r = csv.reader(csvfile, delimiter=',')
for row in r:
for i in range(1000):
for j in range(1000):
if (int(row[0]) == i and int(row[1]) == j):
# Can perform operations here
有什么方法可以使用Numpy或Pandas(我对这些人很新)来解决这个问题吗?
答案 0 :(得分:3)
使用集合的一种方式:
from intertools import product
import pandas as pd
df1 = pd.read_csv('myfile.csv')
set(product(df1.X.unique(), df1.Y.unique())).difference(set((i[1], i[2]) for i in df1.itertuples()))
输出:
{(1, 2), (2, 2)}