2016-07-28 10 views
1

im использовать pandas для чтения csv-файла и xlsx-файла. Оба файла имеют один общий столбец с номерами. Я сохраняю оба набора данных в двух отдельных списках. Теперь я хочу проверить столбцы с общими значениями и добавить набор данных из второго списка в первый. Критерием является то, что значения должны совпадать. Надеюсь, вы понимаете, что я хочу делать.Python pandas: сравнить данные и собрать их

Вот списки: Список 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 

Теперь я нужна подсказка, как решить эту проблему. Я много googled и не нашел решение для своей проблемы. Было бы здорово, если бы кто-то мог помочь.

ответ

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

Смежные вопросы