我有兩隻大熊貓dataframes,我想合併/聯合起來合併兩個大熊貓dataframes與時間序列指數
例如:
#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會更容易嗎?
任何幫助表示讚賞。
我認爲這是接近我想要的,但列的順序並不是我想要的。我需要訂購A_x A_y B_x B_y ...等等。 有什麼辦法來排序列的方式?也許這是一個排序功能? –
@MooseDrool,你可以使用df.sort_index(axis = 1,inplace = True) – Vaishali
這很有道理! –