我有两个具有不同值的数据框。两个数据集的第一列都是相同的类型(“日期和时间”),但频率不同。例如,一个日期设置参数以5分钟的间隔排列,而另一个数据设置参数以15分钟的间隔排列。我可以在15分钟内使用python将平均值从一个数据集传输到另一数据集吗?图片中的数据示例:
我使用过pd.merge和pd.concat,但它们根本无法工作
答案 0 :(得分:0)
您必须在两个数据集中添加一个ID才能合并
答案 1 :(得分:0)
我将对第一个数据帧进行重新采样 df1.resample('15T')。mean(),然后是pd.concat。
例如,
index = pd.date_range('1/1/2018', periods=12, freq='5T')
series1 = pd.Series(range(12), index=index)
series2 = pd.Series([0.1*x for x in range(12)],index=index)
df1 = pd.concat( [series1,series2], axis=1)
df1.columns = ["Value1","Value2"]
df1 = df1.resample('15T').mean()
index = pd.date_range('1/1/2018', periods=4, freq='15T')
series1 = pd.Series(range(4), index=index)
series2 = pd.Series([0.01*x for x in range(4)],index=index)
df2 = pd.concat( [series1, series2], axis=1)
df2.columns = ["Value3", "Value4"]
df = pd.concat([df1, df2], join="inner", axis=1)
df
产生
Value1 Value2 Value3 Value4
2018-01-01 00:00:00 1 0.1 0 0.00
2018-01-01 00:15:00 4 0.4 1 0.01
2018-01-01 00:30:00 7 0.7 2 0.02
2018-01-01 00:45:00 10 1.0 3 0.03