如何在Python Pandas中将MultiIndex Dataframes与权重合并?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Python Pandas中将MultiIndex Dataframes与权重合并?相关的知识,希望对你有一定的参考价值。
我有3个多索引数据帧,结构如下:
Dataframe1:
Date IDs Values
Date1 ID4 0.5
ID5 2.3
ID6 3.1
Date2 ID1 1.2
ID4 5.1
...
Dataframe2:
Date IDs Values
Date1 ID1 2.5
ID2 3.3
ID4 4.1
Date2 ID3 5.2
ID4 1.1
...
same for dataframe3
日期和ID大多在每个实例中重复,但可能有一些不完全排列。
我需要将所有3个合并为一个具有相同结构的数据帧,但每个id / date匹配对与权重相加(所以加权平均值)。
是否有一个简单的数据帧命令来执行此操作?
答案
如果我理解正确,我们可以做以下事情。
首先使用pandas.concatenate
将数据帧连接到一个数据帧,同时我们使用DataFrame.reset_index
重置索引。
然后我们在Dataframe.groupby
列上使用Date & IDs
并使用mean
的Values
:
df_all = pd.concat([df1.reset_index(), df2.reset_index()])
df_all = df_all.groupby(['Date', 'IDs'], as_index=False)['Values'].mean()
产量:
print(df_all)
Date IDs Values
0 Date1 ID1 2.5
1 Date1 ID2 3.3
2 Date1 ID4 2.3
3 Date1 ID5 2.3
4 Date1 ID6 3.1
5 Date2 ID1 1.2
6 Date2 ID3 5.2
7 Date2 ID4 3.1
以上是关于如何在Python Pandas中将MultiIndex Dataframes与权重合并?的主要内容,如果未能解决你的问题,请参考以下文章
如何在python中将字符串转换为pandas数据框[重复]
如何在从 python 触发的电子邮件中将 pandas 数据框附加为 excel
如何在 pandas python 中将字符串转换为日期时间格式?
如何在Python Pandas中将MultiIndex Dataframes与权重合并?
如何通过在 Python 中将两个列表合并为一个,使用 CSV 模块或 Pandas 写入 csv 或 Excel 文件?