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

closed as off-topic by Stephen Rauch, Siong Thye Goh, n1k31t4, Sean Owen Nov 18 at 23:28

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question does not appear to be about data science, within the scope defined in the help center." – Stephen Rauch, Siong Thye Goh, n1k31t4, Sean Owen
If this question can be reworded to fit the rules in the help center, please edit the question.

  • There are many example on StackOverflow – Aditya Nov 17 at 13:03
  • @Aditya, no how i need. And i newer... – britodfbr Nov 17 at 13:45
  • What do you mean by "but not assert expected result"? Can you elaborate? – Peter Mortensen Nov 17 at 16:09
  • Down vote because this is a trivial question. See SO for numerous posts similar to this. – Jon Nov 17 at 18:40
up vote 6 down vote accepted

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

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

  • 2
    very thanks! I finish below: a1975.merge(b1975, left_on=['num', 'ano'], right_on=['num', 'ano'], how='outer', sort=True) – britodfbr Nov 17 at 13:46

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