如何将 Python 中两个数据框中的两列合并在一起

How do I merge together two columns from two dataframes in Python

您好,我有以下数据框:

  df = 
    x val 
    1 5 
    2 10
    5 3

  df1 = 
    x val 
    1 2 
    3 4
    4 8
    5 2

我想要一个数据帧 returns 相同 x 的平均值。

  df2 = 
    x val 
    1 3.5
    2 10
    3 4
    4 8
    5 2.5

一种方法是连接数据帧然后分组 'x'。

df2 = pd.concat([df,df1])
df2.groupby('x').mean()

生产:

    val
x      
1   3.5
2  10.0
3   4.0
4   8.0
5   2.5

它适用于两个数据帧。如果我有不同的实现并且我想在不同的会话中进行其他统计分析怎么办? 假设我有以下数据框

df
   x val  session
    1 5     0
    2 10    0
    5 3     0
    1 5     1
    2 10    1
    3 4     1
    4 8     1
    5 7     1
    2 6     2
    3 4     2
    5 9     2

我正在做的是这样的:

s_un = pd.unique(df.session)
df_out = pd.Dataframe()
for in s_un:
     df_out = pd.concat([df_out,df[df.session=i]],ignore_index=True)

对吗?