[英]Concat two Pandas DataFrame column with different length of index
利用:
df1 = pd.DataFrame({
'A':list('abcdef'),
'B':[4,5,4,5,5,4],
})
df2 = pd.DataFrame({
'SMA':list('rty')
})
df3 = df1.join(df2.set_index(df1.index[-len(df2):]))
或者:
df3 = pd.concat([df1, df2.set_index(df1.index[-len(df2):])], axis=1)
print (df3)
A B SMA
0 a 4 NaN
1 b 5 NaN
2 c 4 NaN
3 d 5 r
4 e 5 t
5 f 4 y
它是如何工作的:
首先是从后面按df2
的长度在df1
中选择的索引:
print (df1.index[-len(df2):])
RangeIndex(start=3, stop=6, step=1)
然后用DataFrame.set_index
覆盖现有值:
print (df2.set_index(df1.index[-len(df2):]))
SMA
3 r
4 t
5 y
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.