Соединение двух фреймов данных одного типа приводит к ошибке «ValueError: вы пытаетесь объединить столбцы объекта и int64» - PullRequest
0 голосов
/ 13 октября 2019

У меня есть два фрейма данных, сессий1 и сессий2, к которым я хотел бы присоединиться в поле 'ga: dimension1'.

sessions1.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 15775 entries, 0 to 15774
Data columns (total 9 columns):
ga:dimension1                15775 non-null object
ga:date                      15775 non-null object
ga:deviceCategory            15775 non-null object
ga:landingPagePath           15775 non-null object
ga:userType                  15775 non-null object
ga:operatingSystem           15775 non-null object
ga:operatingSystemVersion    15775 non-null object
ga:sessions                  15775 non-null int64
ga:bounces                   15775 non-null int64
dtypes: int64(2), object(7)
memory usage: 1.1+ MB
sessions2.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 15774 entries, 0 to 15773
Data columns (total 9 columns):
ga:dimension1         15774 non-null object
ga:source             15774 non-null object
ga:medium             15774 non-null object
ga:campaign           15774 non-null object
ga:adContent          15774 non-null object
ga:keyword            15774 non-null object
ga:channelGrouping    15774 non-null object
ga:sessions           15774 non-null int64
ga:bounces            15774 non-null int64
dtypes: int64(2), object(7)
memory usage: 1.1+ MB

Глядя на первые несколько строк, они выглядят как минимум одинаково:

sessions1.head()
            ga:dimension1   ga:date  ... ga:sessions ga:bounces
0  1567331564026.evxjzuot  20190901  ...           1          1
1  1567331572999.vtnsczsj  20190901  ...           1          1
2  1567331693070.fkdbmcj6  20190901  ...           1          1
3  1567335919816.ctz12xcl  20190901  ...           1          0
4  1567345181556.b3yowmbh  20190901  ...           1          1

sessions2.head()
            ga:dimension1 ga:source  ... ga:sessions ga:bounces
0  1567331564026.evxjzuot  (direct)  ...           1          1
1  1567331572999.vtnsczsj  (direct)  ...           1          1
2  1567331693070.fkdbmcj6  (direct)  ...           1          1
3  1567335919816.ctz12xcl  (direct)  ...           1          0
4  1567345181556.b3yowmbh  (direct)  ...           1          1

Однако, когда я пытаюсь это сделать:

sessions_combined = sessions1.join(sessions2,
                                   on = 'ga:dimension1',
                                   how = 'left')

я получаю сообщение об ошибке:

ValueError: Вы пытаетесь объединить столбцы объекта и int64,Если вы хотите продолжить, вы должны использовать pd.concat

Почему это так и как мне соединить два фрейма данных вместе?

1 Ответ

0 голосов
/ 13 октября 2019

Использование merge

sessions_combined = sessions1.merge(sessions2,
                                   on = 'ga:dimension1',
                                   how = 'left')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...