[英]Compare and select data in two different CSV files in Python
您可以使用 Pandas 讀取兩個 CSV 文件( pip install pandas
)
file1 = pd.read_csv("file1.csv").fillna(0)
file2 = pd.read_csv("file2.csv").fillna(0)
如果文件包含相同的列和相同的行數,您可以比較列中的多個值,如下所示:
comparison = [a - b for a, b in zip(file1.loc[:, 'column_name'], file2.loc[:, 'column_name'])]
這將產生一個列表,其中 a(file1 列值)和 b(file2 列值)之間存在差異。
您可以將結果添加到其中一個數據框中的新列中,如下所示:
file1.loc[:, 'new_column'] = comparison
在您的特定情況下,我們可以像這樣對每一列進行比較(這假設兩個文件中“來源”的順序相同):
df = pd.DataFrame()
for column in file1:
if not column == 'origin':
df.loc[:, column] = [origin if a < 1 <= b else 0 for origin, a, b in zip(file1.loc[:, 'origin'], file1.loc[:, column], file2.loc[:, column])]
使用您的示例,這將導致:
a b c
0 251720 0 0
1 252530 0 0
2 261900 0 0
3 262110 0 0
4 300692 0 300692
5 380210 0 380210
6 382510 0 382510
7 382530 382530 0
8 382541 382541 0
9 382549 382549 0
10 382550 382550 0
11 382561 0 0
12 382569 0 0
然后,您可以將其導出到新的 csv,如下所示: df.to_csv(“output.csv”, index=False)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.