Python 如何在pandas中附加两个或多个数据帧并进行一些分析

Python 如何在pandas中附加两个或多个数据帧并进行一些分析,python,pandas,dataframe,data-analysis,Python,Pandas,Dataframe,Data Analysis,我有3个df: df1=pd.DataFrame({"Name":["one","two","three"],"value":[4,5,6]}) df2=pd.DataFrame({"Name":["four","one","three"],"value":[8,6,2]}) df3=pd.DataFrame({"Name":["one","four","six"],"value":[1,1,1]}) 我可以一个接一个地追加,但我想一次追加所有三个数据帧并进行一些分析 我试图计算名称包含的数据

我有3个df:

df1=pd.DataFrame({"Name":["one","two","three"],"value":[4,5,6]})
df2=pd.DataFrame({"Name":["four","one","three"],"value":[8,6,2]})
df3=pd.DataFrame({"Name":["one","four","six"],"value":[1,1,1]})
我可以一个接一个地追加,但我想一次追加所有三个数据帧并进行一些分析

我试图计算名称包含的数据帧数除以数据帧总数<代码>名称在数据帧/数据帧总数

我期望的输出是

 Name  value   Count
 one    11      1
 two    5       0.333
 three  8       0.666
 four   9       0.666
 six    1       0.333
请帮忙,提前谢谢

使用:

  • 首先
  • 聚合
  • 分栏

类似的解决方案:

df1 = (pd.concat(dfs)
         .groupby('Name')['value']
         .agg([('value', 'sum'), ('Count', 'size')])
         .assign(Count = lambda x: x.Count /len(dfs))
         .reset_index())

print (df1)
    Name  value     Count
0   four      9  0.666667
1    one     11  1.000000
2    six      1  0.333333
3  three      8  0.666667
4    two      5  0.333333

在上半部分试试这个,df=pd.concat([df1,df2,df3])df.groupby([“Name”])[“value”].sum().reset_index()@pyd-很高兴能帮上忙!
df1 = (pd.concat(dfs)
         .groupby('Name')['value']
         .agg([('value', 'sum'), ('Count', 'size')])
         .assign(Count = lambda x: x.Count /len(dfs))
         .reset_index())

print (df1)
    Name  value     Count
0   four      9  0.666667
1    one     11  1.000000
2    six      1  0.333333
3  three      8  0.666667
4    two      5  0.333333