Python 如何在pandas中附加两个或多个数据帧并进行一些分析
我有3个df: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]}) 我可以一个接一个地追加,但我想一次追加所有三个数据帧并进行一些分析 我试图计算名称包含的数据
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