3
$\begingroup$

I found (How do I merge two data frames in Python Pandas?), but do not get the expected result.

I have these two CSV files:

# f1.csv
num   ano
76971  1975
76969  1975
76968  1975
76966  1975
76964  1975
76963  1975
76960  1975

and

# f2.csv
num   ano   dou  url
76971  1975 p1   http://exemplo.com/page1
76968  1975 p2   http://exemplo.com/page10
76966  1975 p2   http://exemplo.com/page100

How do I merge these for to get the result given below?

# Expected result
num   ano   dou  url
76971  1975 p1   http://exemplo.com/page1
76969  1975
76968  1975 p2   http://exemplo.com/page10
76966  1975 p2   http://exemplo.com/page100
76964  1975
76963  1975
76960  1975
$\endgroup$
4
  • $\begingroup$ There are many example on StackOverflow $\endgroup$
    – Aditya
    Nov 17 '18 at 13:03
  • $\begingroup$ @Aditya, no how i need. And i newer... $\endgroup$
    – britodfbr
    Nov 17 '18 at 13:45
  • $\begingroup$ What do you mean by "but not assert expected result"? Can you elaborate? $\endgroup$ Nov 17 '18 at 16:09
  • $\begingroup$ Down vote because this is a trivial question. See SO for numerous posts similar to this. $\endgroup$
    – Jon
    Nov 17 '18 at 18:40
7
$\begingroup$

f1.merge(f2, left_on='num', right_on='num', how='outer')

see https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.merge.html

$\endgroup$
2
  • 2
    $\begingroup$ very thanks! I finish below: a1975.merge(b1975, left_on=['num', 'ano'], right_on=['num', 'ano'], how='outer', sort=True) $\endgroup$
    – britodfbr
    Nov 17 '18 at 13:46
  • 1
    $\begingroup$ Great tutorial for this kind of question. shanelynn.ie/merge-join-dataframes-python-pandas-index-1 $\endgroup$
    – ASH
    Feb 22 '20 at 14:08

Not the answer you're looking for? Browse other questions tagged or ask your own question.