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

时间:2015-11-02 21:43:18

标签: python pandas concatenation

您好我有以下数据框:

  df = 
    x val 
    1 5 
    2 10
    5 3

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

我想要一个返回相同x平均值的数据框。

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

2 个答案:

答案 0 :(得分:2)

一种方法是连接数据帧,然后按'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

答案 1 :(得分:0)

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

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)

这是对的吗?