Найти - Пользователи
Полная версия: ВПР на Python
Начало » Python для новичков » ВПР на Python
1
Ken88
Добрый!

У меня возникла такая проблемка:
Есть DF в Pandas, со столбцами: date, city, weather, latitude, longitude
Есть второй DF со столбцами: date, city, code, person

Нужно объединить их по столбцу city и date. Я использую код:

 df3 = pd.merge(df1,
 df2,
 on =['date','city'],
 how ='left')

Соединение по времени идёт, также как и город, но, почему-то не на всех строчках.
df3 выдает такой результат:

2023-06-29 | Moscow | 27 | Leonid
2023-06-30 | Kazan | 28 | Olya
2023-06-30 | Chelny | 31 | -

хотя во втором DF, указывается, что в такую дату погоду указывал Leonid. Если несколько записей на одного человек, он не цепляется. Почему?
lilycollins9x
To solve this problem, you can use how='outer'. This option will perform concatenation on outer matches. This means that all rows from both data frames will be included in the results, even if they do not match on all columns.

In your case, this will produce the following output:

2023-06-29 | Moscow | 27 | Leonid
2023-06-30 | Kazan | 28 | Olya
2023-06-30 | Chelny | 31 | Leonid
slope
WilliamThompson
lilycollins9x
To solve this problem, you can use how='outer'. This option will perform concatenation on outer matches. This means that all rows from both data frames will be included in the results, even if they do not match on all columns.In your case, this will produce the following output:2023-06-29 | Moscow | 27 | Leonid2023-06-30 | Kazan | 28 | Olya2023-06-30 | Chelny | 31 | Leonid connections unlimited
thanks
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB