2024-04-29 22:31:09 发布
网友
当新数据列的行数较少时,如何将数据帧的合并列添加到另一个数据帧?具体地说,我需要在合并数据帧的前几行(而不是最后几行)使用NaN填充新的数据列。请参考图片。谢谢
使用:
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中的索引:
df2
df1
print (df1.index[-len(df2):]) RangeIndex(start=3, stop=6, step=1)
然后用^{}覆盖现有值:
print (df2.set_index(df1.index[-len(df2):])) SMA 3 r 4 t 5 y
使用:
或:
工作原理:
第一个是从后面按长度
df2
选择df1
中的索引:然后用^{} 覆盖现有值:
相关问题 更多 >
编程相关推荐