我有一个 df
df1:
| Index | data1 |
|:---- |:------:|
| t5 | 0 |
| t8 | 0 |
| t10 | 1 |
| t50 | 3 |
| t55 | 5 |
.
.
.
我还有另一个 df
df2:
| Index | data2 |
|:---- |:------:|
| 1 | 2011/5/5 |
| 2 | 2011/5/6 |
| 3 | 2011/5/7 |
| 4 | 2011/5/8 |
| 5 | 2011/5/9 |
| 6 | 2011/5/10 |
| 7 | 2011/5/11 |
| 8 | 2011/5/12 |
| 9 | 2011/5/13 |
| 10 | 2011/5/14 |
.
.
.
我想像这样将 df2['data2'] 的值附加到 df1:
df1 的索引 = t5 与 df2 的索引 = 5 df1 的索引 = t8 与 df2 的索引 = 8
结果: df1:
| Index | data1 | data2 |
|:---- |:------:| -----:|
| t5 | 0 | 2011/5/9 |
| t8 | 0 | 2011/5/12 |
| t10 | 1 | 2011/5/14 |
.
.
etc, etc
我将不胜感激。谢谢。
答案 0 :(得分:1)
您可以更改 df2
的索引格式,然后使用 pandas.DataFrame.join
:
df1.join(df2.set_index('t' + df2.index.astype(str)))
# data1 data2
#Index
#t5 0 2011/5/9
#t8 0 2011/5/12
#t10 1 2011/5/14
请注意,当您在 df2
上使用 pandas.DataFrame.set_index
时,您会得到:
df2.set_index('t' + df2.index.astype(str))
# data2
#Index
#t1 2011/5/5
#t2 2011/5/6
#t3 2011/5/7
#t4 2011/5/8
#t5 2011/5/9
#t6 2011/5/10
#t7 2011/5/11
#t8 2011/5/12
#t9 2011/5/13
#t10 2011/5/14
所以你可以直接用 df1
加入。