2016-07-28 40 views
1

即時通訊使用熊貓讀出一個csv文件和一個xlsx文件。這兩個文件都有一個包含數字的共同列。我將兩個數據集都保存在兩個獨立的列表中。現在我想檢查具有常見值的列,並將第二個列表中的數據集添加到第一個列表中。標準是這些值必須匹配。希望你明白我想要做什麼。Python熊貓:比較數據並放在一起

以下是名單: 表1:

 FAK-ART FAK-DAT LEIST-DAT  KD-CRM MW-BW  EQ-NR MATERIAL \ 
1   ZPAF 2015-05-18 2015-05-31   TMD  E 1003594714 G230ETS 
2   ZPAF 2015-05-18 2015-05-31   TMD  B 1000943473 G230ETS 
3   ZPAF 2015-05-18 2015-05-31   TMD  E 1000943608 G230ETS 
4   ZPAF 2015-05-18 2015-05-31   TMD  B 1000943704 G230ETS 
5   ZPAF 2015-05-18 2015-05-31   TMD  E 1000943823 G230ETS 
6   ZPAF 2015-05-18 2015-05-31   TMD  B 1000943985 G230ETS 
7   ZPAF 2015-05-18 2015-05-31   TMD  E 1000954774 G230ETS 
8   ZPAF 2015-05-18 2015-05-31   TMD  B 1000954790 G230ETS 
9   ZPAF 2015-05-18 2015-05-31   TMD  E 1000955082 G230ETS 
10  ZPAF 2015-05-18 2015-05-31   TMD  B 1000955097 G230ETS 
11  ZPAF 2015-05-18 2015-05-31   TMD  E 1001415563 G230ETS 
12  ZPAF 2015-05-18 2015-05-31   TMD  B 1001415566 G230ETS 
13  ZPAF 2015-05-18 2015-05-31   TMD  E 1001415569 G230ETS 
14  ZPAF 2015-05-18 2015-05-31   TMD  B 1003116180 G230ETS 
15  ZPAF 2015-05-18 2015-05-31   TMD  E 1003189748 G230ETS 
16  ZPAF 2015-05-18 2015-05-31   TMD  B 1003189752 G230ETS 
17  ZPAF 2015-05-18 2015-05-31   TMD  E 1003189753 G230ETS 

表2

   EQ-NR   TA 
0  1003594714 SONSTIGES 
1  1000943473  NaN 
2  1000943608 Sonstiges 
3  1000943704 Sonstiges 
4  1000943823 Sonstiges 
5  1000943985 Sonstiges 
6  1000954774  FMED 
7  1000954790  FMED 
8  1000955082  SDH 
9  1000955097  NaN 
10  1001415563 Sonstiges 
11  1001415566 Sonstiges 
12  1001415569 SONSTIGES 
13  1001496157  NaN 
14  1003116180  NaN 
15  1003189748  NaN 
16  1003189752  NaN 
17  1003189753  NaN 

現在我需要一個提示如何解決這個問題。我GOOGLE了很多,沒有找到解決我的問題。如果有人能幫忙,會很棒。

回答

2

使用merge

print (pd.merge(df1, df2, on='EQ-NR', how='left')) 

    FAK-ART  FAK-DAT LEIST-DAT KD-CRM MW-BW  EQ-NR MATERIAL \ 
0  ZPAF 2015-05-18 2015-05-31 TMD  E 1003594714 G230ETS 
1  ZPAF 2015-05-18 2015-05-31 TMD  B 1000943473 G230ETS 
2  ZPAF 2015-05-18 2015-05-31 TMD  E 1000943608 G230ETS 
3  ZPAF 2015-05-18 2015-05-31 TMD  B 1000943704 G230ETS 
4  ZPAF 2015-05-18 2015-05-31 TMD  E 1000943823 G230ETS 
5  ZPAF 2015-05-18 2015-05-31 TMD  B 1000943985 G230ETS 
6  ZPAF 2015-05-18 2015-05-31 TMD  E 1000954774 G230ETS 
7  ZPAF 2015-05-18 2015-05-31 TMD  B 1000954790 G230ETS 
8  ZPAF 2015-05-18 2015-05-31 TMD  E 1000955082 G230ETS 
9  ZPAF 2015-05-18 2015-05-31 TMD  B 1000955097 G230ETS 
10 ZPAF 2015-05-18 2015-05-31 TMD  E 1001415563 G230ETS 
11 ZPAF 2015-05-18 2015-05-31 TMD  B 1001415566 G230ETS 
12 ZPAF 2015-05-18 2015-05-31 TMD  E 1001415569 G230ETS 
13 ZPAF 2015-05-18 2015-05-31 TMD  B 1003116180 G230ETS 
14 ZPAF 2015-05-18 2015-05-31 TMD  E 1003189748 G230ETS 
15 ZPAF 2015-05-18 2015-05-31 TMD  B 1003189752 G230ETS 
16 ZPAF 2015-05-18 2015-05-31 TMD  E 1003189753 G230ETS 

      TA 
0 SONSTIGES 
1   NaN 
2 Sonstiges 
3 Sonstiges 
4 Sonstiges 
5 Sonstiges 
6  FMED 
7  FMED 
8   SDH 
9   NaN 
10 Sonstiges 
11 Sonstiges 
12 SONSTIGES 
13  NaN 
14  NaN 
15  NaN 
16  NaN 
+0

謝謝!這工作! – Damian

+0

如果我的回答很有幫助,請不要忘記[接受](http://meta.stackexchange.com/a/5235/295067)它。謝謝。 – jezrael