迭代合并

时间:2019-05-25 13:10:37

标签: python pandas

我正在尝试通过迭代合并一些df来创建df。

这是示例代码。

df1 = pd.DataFrame({'lkey': ['foo', 'bar', 'baz', 'foo'],
                     'value1': [1, 2, 3, 5],
                     'value2': [5, 7, 8, 9]})
dfc = [['lkey','value1'],['lkey','value2']]


rslt = pd.DataFrame()
for i in range(0,1):
    tmp = df1[dfc[i]].rename(columns={ df1[dfc[i]].columns[0]: "test" })
    if len(rslt) == 0:
        rslt = tmp
    else:
        rslt = pd.merge(rslt, tmp,how='outer',on="test")

我不明白为什么输出是

test    value1
0   foo 1
1   bar 2
2   baz 3
3   foo 5

当我期待

   test value1 value2
0   foo    1     6
1   bar    2     7
2   baz    3     8
3   foo    5     9

1 个答案:

答案 0 :(得分:1)

因为需要ReactDOMServer.renderToStringrange(0,2)来进行2次迭代。

还重复了range(2)行,因为源foo中的行重复。

DataFrame