我有一个包含每日销售数据的 Dataframe,我使用它创建了一个 groupby 函数,如下所示:
df_new1 = df_1.groupby(['emp_id']).size()
df_new2 = df_2.groupby(['emp_id']).size()
Run Code Online (Sandbox Code Playgroud)
df_new1 的示例输出:
emp_id,count1
101,2
102,4
Run Code Online (Sandbox Code Playgroud)
df_new2 的示例输出:
emp_id,count2
101,4
102,6
Run Code Online (Sandbox Code Playgroud)
我正在尝试比较上述两个数据帧(df_new1和df_new2),如下所示:
new_df = pd.concat(df_new1, df_new2)
Run Code Online (Sandbox Code Playgroud)
这会引发错误:
TypeError: first argument must be an iterable of pandas objects, you passed an object of type "Series"
Run Code Online (Sandbox Code Playgroud)
预期输出:
emp_id,count1,count2
101,2,4
102,4,6
Run Code Online (Sandbox Code Playgroud)
其中 count1 是来自的值df_new1,count2 是来自的值df_new2
df_new1 和 df_new2 都是系列而不是数据帧,因为您没有在 groupby 之后重置索引。您可以连接多个系列,它们将连接到索引上。尝试
new_df = pd.concat([df_new1, df_new2], axis = 1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7506 次 |
| 最近记录: |