如何连接两个具有不同长度的单列数据帧,以便更新DateTime索引?

问题描述 投票:0回答:1

我有两个不同长度的单列数据帧,我想使用类似于以下内容的方式逐列连接:

df = pd.concat([df, df_add], axis = 1, join = 'outer')

我想更新df,所以它旁边有df的第一列,而df_add的列旁边。并非所有DateTime索引都匹配(两个数据帧中的几行都被删除了)。

我的数据框是:

df:

                             col 1
TimeStamp                       
2012-09-20 00:00:00   -11.280400
2012-09-20 00:10:00   -11.945430
2012-09-20 00:20:00   -11.962580
2012-09-20 00:30:00   -12.074700
2012-09-20 00:40:00   -11.923750
                         ...
2019-05-09 23:40:00   690.570129
2019-05-10 00:00:00   565.838928
2019-05-10 02:00:00  1154.415039
2019-05-10 22:00:00   347.493195
2019-05-12 07:20:00          NaN

[345850 rows x 1 columns]

和df_add:

                             col 2
TimeStamp                       
2012-09-20 00:00:00   -12.037120
2012-09-20 00:10:00   -12.575330
2012-09-20 00:20:00   -12.821350
2012-09-20 00:30:00   -11.959330
2012-09-20 00:40:00   -12.103370
                         ...
2019-05-31 23:20:00  1876.394043
2019-05-31 23:30:00  1783.564941
2019-05-31 23:40:00  1554.718994
2019-05-31 23:50:00  1558.073975
2019-06-01 00:00:00  1597.640991

[343128 rows x 1 columns]

我想获得类似这样的内容,用NaN填充与索引不匹配的单元格。

I would like to obtain sth like this:

不幸的是,当我尝试上述代码行时,出现以下错误:

Shape of passed values is (952153, 2), indices imply (355645, 2)

我将非常感谢您的帮助!问候!

python pandas dataframe concat
1个回答
1
投票

您正在寻找pd.DataFrame.join-无法尝试,我会这样说

df_added = df.join(df_add, how='outer')

将给您您所追求的。


-1
投票

使用pd.concat

pd.concat

输出

df=pd.concat([df,df_add],axis=1,sort=True)
print(df)
© www.soinside.com 2019 - 2024. All rights reserved.