Python 如何保留Pandas在我的组中使用的列名
我有两个数据帧。我想在第二个数据框中使用GROUPBY,然后在“公司名称”列中将两者合并在一起。问题是,在我的GROUPBY语句中,我失去了“公司名称”列Python 如何保留Pandas在我的组中使用的列名,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我有两个数据帧。我想在第二个数据框中使用GROUPBY,然后在“公司名称”列中将两者合并在一起。问题是,在我的GROUPBY语句中,我失去了“公司名称”列 import pandas as pd df1 = pd.DataFrame( { 'Company Name': ['Google','Google','Microsoft','Microsoft','Amazon','Amazon'], 'Location': ['Somewhere','Some
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没有公司名称列来执行合并。替换此行:
df = df.groupby(['Company Name']).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
试试df=df.groupby(['Company Name'],as_index=False)。sum()什么错误?我在py2.7中运行它,没有错误,因为_index=False似乎有效。@tink3r既然您有15个声誉,请同时单击向上箭头,向上投票
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