本文介绍了如何使用for循环添加多个不同的DataFrame?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有多个数据框,我想将下一个数据框的值添加到前一个数据框的第三个值之后。
我是Pyhton的新手,我正在使用Google CoLab,所以我希望您能帮助我。非常感谢。因此,下面是我想要如何做的一个示例。
df1: Index Column_1 0 1 1 1 2 1 3 1 4 1 5 1 df2: Index Column_2 0 2 1 2 2 2 3 2 4 2 5 2 df3: Index Column_3 0 3 1 3 2 3 3 3 4 3 5 3 我想从df1的索引3开始添加df2的值。 另外,我想从df2的索引6开始添加df3的值。 因此,基本上,随着数据帧的添加,索引会加倍。所以df1+df2+df3应该是这样的:
df4: Index Column_1 Column_2 Column_3 0 1 1 1 2 1 3 1 3 4 1 3 5 1 3 6 2 5 7 2 5 8 2 5 9 3 10 3 11 3或
df4 Index Column_4 0 1 1 1 2 1 3 3 4 3 5 3 6 5 7 5 8 5 9 3 10 3 11 3是否有在循环中执行此操作的方法?
我希望你们能帮助我。非常感谢。
推荐答案使用pd.merge
df = df1.merge(df2.assign(Index=df2['Index']+3), how='outer') .merge(df3.assign(Index=df3['Index']+6), how='outer') df['Column_2'] += df['Column_1'].fillna(0) df['Column_3'] += df['Column_2'].fillna(0) >>> df Index Column_1 Column_2 Column_3 0 0 1.0 NaN NaN 1 1 1.0 NaN NaN 2 2 1.0 NaN NaN 3 3 1.0 3.0 NaN 4 4 1.0 3.0 NaN 5 5 1.0 3.0 NaN 6 6 NaN 2.0 5.0 7 7 NaN 2.0 5.0 8 8 NaN 2.0 5.0 9 9 NaN NaN 3.0 10 10 NaN NaN 3.0 11 11 NaN NaN 3.0更新
是否有方法可以仅在一列中呈现结果?
df['Column_4'] = df.ffill(axis=1)['Column_3'] >>> df Index Column_1 Column_2 Column_3 Column_4 0 0 1.0 NaN NaN 1.0 1 1 1.0 NaN NaN 1.0 2 2 1.0 NaN NaN 1.0 3 3 1.0 3.0 NaN 3.0 4 4 1.0 3.0 NaN 3.0 5 5 1.0 3.0 NaN 3.0 6 6 NaN 2.0 5.0 5.0 7 7 NaN 2.0 5.0 5.0 8 8 NaN 2.0 5.0 5.0 9 9 NaN NaN 3.0 3.0 10 10 NaN NaN 3.0 3.0 11 11 NaN NaN 3.0 3.0更多推荐
如何使用for循环添加多个不同的DataFrame?
发布评论