我有两个数据框并尝试加入但却失败了,你能不能帮助我。
dataframe 1
0
0 0
1 -100
...
20 400
21 500
dataframe 2
Rate
Date
2015-04-01 NaN
2015-04-02 -0.00346
2015-04-03 0.00323
...
2015-04-29 0.00296
2015-04-30 0.00878
我想加入他们:
Rate 0
Date
2015-04-01 NaN 0
2015-04-02 -0.00346 -100
2015-04-03 0.00323 0
...
2015-04-29 0.00296 400
2015-04-30 0.00878 500
但使用此
concate = pd.concat([dataframe1, dataframe2], axis=1, join_axes=[dataframe1.index])
print gabung
我明白了:
Rate 0
Date
2015-04-01 NaN NaN
2015-04-02 -0.00346 NaN
2015-04-03 0.00323 NaN
...
2015-04-29 0.00296 NaN
2015-04-30 0.00878 NaN
如何修复代码,以便得到我想要的结果。谢谢
答案 0 :(得分:0)
你可以做到
dataframe2['values'] = dataframe1[0].values
因此,只需在第二个数据框中插入一列,因为这是您要保留索引的列。我只是选择了'values'
作为结果中列的任意名称,但是你可以把任何东西放在那里。
答案 1 :(得分:0)
Concatination表示两个列表相互匹配,如下所示:
df1 = pd.DataFrame({"data":[1,2,3]})
df2 = pd.DataFrame({"data":[4,5,6]})
pd.concat([df1, df2])
data
0 1
1 2
2 3
0 4
1 5
2 6
合并(加入)需要一个密钥才能加入。
df1 = pd.DataFrame({"data1":[1,2,3], "key":["John", "Janice", "Jake"]})
df2 = pd.DataFrame({"data2":[4,5,6], "key":["John", "Janice", "Jake"]})
pd.merge(left=df1, right=df2, on="key")
data1 key data2
0 1 John 4
1 2 Janice 5
2 3 Jake 6
向现有数据框添加新列是一项简单的任务:
df1 = pd.DataFrame({"data":[1,2,3]})
df2 = pd.DataFrame({"data":[4,5,6]})
df1['data2'] = df2['data']
data data2
0 1 4
1 2 5
2 3 6