【发布时间】:2018-11-13 08:28:59
【问题描述】:
我一直在为这个问题苦苦挣扎,尽管我会假设有一些解决方法,但我很想知道是否有一种优雅的方式来实现这个结果:
import pandas as pd
import numpy as np
data = np.array([
[1,10],
[2,12],
[4,13],
[5,14],
[8,15]])
df1 = pd.DataFrame(data=data, index=range(0,5), columns=['x','a'])
data = np.array([
[2,100,101],
[3,120,122],
[4,130,132],
[7,140,142],
[9,150,151],
[12,160,152]])
df2 = pd.DataFrame(data=data, index=range(0,6), columns=['x','b','c'])
现在我想要一个数据框,将这两个连接起来,并用之前的值填充缺失的值 否则为第一个值。两个数据框可以有不同的大小,这里我们感兴趣的是唯一的列 x。
那将是我想要的输出帧 df_result。 x 是 2 帧之间聚合的唯一“x”
x a b c
0 1 10 100 101
1 2 12 100 101
2 3 12 120 122
3 4 13 130 132
4 5 14 130 132
5 7 14 140 142
6 8 15 140 142
7 9 15 150 151
8 12 15 160 152
任何帮助或提示将不胜感激,非常感谢您
【问题讨论】:
标签: pandas numpy dataframe alignment concatenation