【发布时间】:2020-11-10 03:39:35
【问题描述】:
我想对 Pandas 中三个不同数据帧的三个不同长度的列的元素进行平均。例如:
df_1:
c1 | c2 | c3
0 | 1 | 2
1 | 2 | 3
2 | 3 | 4
df_2:
c1 | c2 | c3
1 | 2 | 3
1 | 2 | 3
1 | 2 | 3
df_3:
c1 | c2 | c3
3 | 2 | 1
1 | 2 | 3
3 | 2 | 1
我想平均 c3 的每个元素,并将其保存在一个新的 df_4 中:
c1 | c2 | c3
3 | 2 | (2+3+1)/3
1 | 2 | (3+3+3)/3
3 | 2 | (4+3+1)/3
我尝试了以下仅返回 NaN 值的方法:
df_1_c3 = df_1.loc[:,'c3']
df_2_c3 = df_2.loc[:,'c3']
df_3_c3 = df_3.loc[:,'c3']
adc_avg = pd.DataFrame((df_1_c3 + df_2_c3 + df_3_c3 )/3)
【问题讨论】:
-
df_4 的 c1,c2 列会和 df_3 一样吗?
-
@IoaTzimas c1、c2 和 c3 的长度会不同。 df_4 中生成的列长度应等于 df_1、df_2 和 df_3 之间 c3 的最长列长度。