gpt4 book ai didi

python - 使用时间序列索引合并两个 Pandas 数据帧

转载 作者:太空宇宙 更新时间:2023-11-04 09:53:40 24 4
gpt4 key购买 nike

我有两个 pandas 数据框,我想合并/连接在一起

例如:

#required packages
import os
import pandas as pd
import numpy as np
import datetime as dt

# create sample time series
dates1 = pd.date_range('1/1/2000', periods=4, freq='10min')
dates2 = dates1
column_names = ['A','B','C']
df1 = pd.DataFrame(np.random.randn(4, 3), index=dates1,
columns=column_names)
df2 = pd.DataFrame(np.random.randn(4, 3), index=dates2,
columns=column_names)

df3 = df1.merge(df2, how='outer', left_index=True, right_index=True, suffixes=('_x', '_y'))

从这里我想按以下方式合并两个数据集(注意列的顺序):

                                              A_x       A_y       B_x       B_y       C_x       C_y
2000-01-01 00:00:00 2000-01-01 00:00:00 -0.572616 -0.867554 -0.382594 1.866238 -0.756318 0.564087
2000-01-01 00:10:00 2000-01-01 00:10:00 -0.814776 -0.458378 1.011491 0.196498 -0.523433 -0.296989
2000-01-01 00:20:00 2000-01-01 00:20:00 -0.617766 0.081141 1.405145 -1.183592 0.400720 -0.872507
2000-01-01 00:30:00 2000-01-01 00:30:00 1.083721 0.137422 -1.013840 -1.610531 -1.258841 0.142301

我想通过创建多索引数据框或为第二个索引创建列来保留两个数据框索引。使用 merge_ordered 而不是 merge 或 join 会更容易吗?

感谢任何帮助。

最佳答案

我想你想 concat而不是合并:

In [11]: pd.concat([df1, df2], keys=["df1", "df2"], axis=1)
Out[11]:
df1 df2
A B C A B C
2000-01-01 00:00:00 1.621737 0.093015 -0.698715 0.319212 1.021829 1.707847
2000-01-01 00:10:00 0.780523 -1.169127 -1.097695 -0.444000 0.170283 1.652005
2000-01-01 00:20:00 1.560046 -0.196604 -1.260149 0.725005 -1.290074 0.606269
2000-01-01 00:30:00 -1.074419 -2.488055 -0.548531 -1.046327 0.895894 0.423743

关于python - 使用时间序列索引合并两个 Pandas 数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46796886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com