将缺失值附加到CSV文件

时间:2017-11-29 04:56:09

标签: python pandas csv numpy

我有一个按以下格式排序的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(我对这些人很新)来解决这个问题吗?

1 个答案:

答案 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)}