Как сохранить имя столбца, использованное в моей группе, с помощью Pandas - PullRequest
0 голосов
/ 31 мая 2019

У меня есть два кадра данных.Я хотел бы использовать group by во втором фрейме данных, а затем объединить их вместе в столбце Название компании.Проблема в том, что с моей группой по заявлению я теряю столбец Название компании.

import pandas as pd

df1 = pd.DataFrame(
    {
        'Company Name': ['Google','Google','Microsoft','Microsoft','Amazon','Amazon'],
        'Location': ['Somewhere','Somewhere','Somewhere','Somewhere','Somewhere','Somewhere'],
    }
)

df = pd.DataFrame(
    {
        'Company Name': ['Google','Google','Microsoft','Microsoft','Amazon','Amazon'],
        'Sales': [12345,12345,12345,12345,12345,12345],
        'Company Type': ['Software','Software','Software','Software','Software','Software']
    }
)
df = df.groupby(['Company Name']).sum()

pd.merge(df1,df,how="inner",on="Company Name")

Я получаю сообщение об ошибке при слиянии из-за того, что в df отсутствует столбец названия компании для выполнения объединения.

1 Ответ

1 голос
/ 31 мая 2019

Заменить эту строку:

df = df.groupby(['Company Name']).sum()

С:

df = df.groupby('Company Name', as_index=False).sum()

Тогда ваш код будет работать так, как ожидается, и вернет:

  Company Name   Location  Sales
0       Google  Somewhere  24690
1       Google  Somewhere  24690
2    Microsoft  Somewhere  24690
3    Microsoft  Somewhere  24690
4       Amazon  Somewhere  24690
5       Amazon  Somewhere  24690
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...