基于选定日期的python数据帧连接

基于选定日期的python数据帧连接,python,pandas,concatenation,loc,Python,Pandas,Concatenation,Loc,假设我有以下变量和数据帧: a = '2020-04-23 14:00:00+00:00','2020-04-23 13:00:00+00:00','2020-04-23 12:00:00+00:00','2020-04-23 11:00:00+00:00','2020-04-23 10:00:00+00:00','2020-04-23 09:00:00+00:00','2020-04-23 08:00:00+00:00','2020-04-23 07:00:00+00:00','2020-04

假设我有以下变量和数据帧:

a = '2020-04-23 14:00:00+00:00','2020-04-23 13:00:00+00:00','2020-04-23 12:00:00+00:00','2020-04-23 11:00:00+00:00','2020-04-23 10:00:00+00:00','2020-04-23 09:00:00+00:00','2020-04-23 08:00:00+00:00','2020-04-23 07:00:00+00:00','2020-04-23 06:00:00+00:00','2020-04-23 04:00:00+00:00'
b = '2020-04-23 10:00:00+00:00','2020-04-23 09:00:00+00:00','2020-04-23 08:00:00+00:00','2020-04-23 07:00:00+00:00','2020-04-23 06:00:00+00:00','2020-04-23 05:00:00+00:00','2020-04-23 04:00:00+00:00','2020-04-23 03:00:00+00:00','2020-04-23 02:00:00+00:00','2020-04-23 01:00:00+00:00'

aa = 7105.50,6923.50,6692.50,6523.00,6302.5,6081.5,6262.0,6451.50,6369.50,6110.00
bb = 6386.00,6221.00,6505.00,6534.70,6705.00,6535.00,7156.50,7422.00,7608.50,8098.00

df1 = pd.DataFrame()
df1['timestamp'] = a
df1['price'] = aa

df2 = pd.DataFrame()
df2['timestamp'] = b
df2['price'] = bb


print(df1)
print(df2)
我正在尝试连接以下行:

  • df1顶行至“2020-04-23 08:00:00+00:00”

  • “2020-04-23 07:00:00+00:00”至df2的最后一行

  • 出于说明目的,以下是数据帧的外观:

    c = '2020-04-23 14:00:00+00:00','2020-04-23 13:00:00+00:00','2020-04-23 12:00:00+00:00','2020-04-23 11:00:00+00:00','2020-04-23 10:00:00+00:00','2020-04-23 09:00:00+00:00','2020-04-23 08:00:00+00:00','2020-04-23 07:00:00+00:00','2020-04-23 06:00:00+00:00','2020-04-23 05:00:00+00:00','2020-04-23 04:00:00+00:00','2020-04-23 03:00:00+00:00','2020-04-23 02:00:00+00:00','2020-04-23 01:00:00+00:00'
    
    cc = 7105.50,6923.50,6692.50,6523.00,6302.5,6081.5,6262.0,6534.70,6705.00,6535.00,7156.50,7422.00,7608.50,8098.00
    
    
    df = pd.DataFrame()
    df['timestamp'] = c
    df['price'] = cc
    print(df)
    

    有什么想法吗?

    您可以将
    时间戳
    列转换为
    pd.date\u time
    对象,然后使用布尔索引和
    pd.concat
    来选择和合并它们:

    df1.timestamp = pd.to_datetime(df1.timestamp)
    df2.timestamp = pd.to_datetime(df2.timestamp)
    
    dfs = [df1.loc[df1.timestamp >= pd.to_datetime("2020-04-23 08:00:00+00:00"),:],
           df2.loc[df2.timestamp <= pd.to_datetime("2020-04-23 07:00:00+00:00"),:]
           ]
    
    df_conc = pd.concat(dfs)
    
    df1.timestamp=pd.to_datetime(df1.timestamp)
    df2.timestamp=pd.to_datetime(df2.timestamp)
    dfs=[df1.loc[df1.timestamp>=pd.to_datetime(“2020-04-23 08:00:00+00:00”),:],
    
    嘿,伙计,我现在做不到,别担心,明天早上我会查的。为你的回复干杯