簡體   English   中英

比較 Python 中兩個不同 CSV 文件中的 select 數據

[英]Compare and select data in two different CSV files in Python

我附上了一張圖片。 我有兩個不同的 CSV 文件,想要獲得 output,如附件所示。 下面是我想要的示例輸入和 output

在此處輸入圖像描述

您可以使用 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM