python - 在熊猫中查找日期之前日期的值和之后日期的所有值并找到计算积分的函数
问题描述
我有两个数据框,一个是带有某个事件日期的表(table_event),第二个是带有多个日期值的表(table_values)。我想创建第三个数据框(table_all_dates),它结合了事件的日期、table_event 中事件之前的值和日期以及 table_event 中事件之后的所有日期和值。
之后,我希望使用线性回归将所有事件逐行链接,以便找到积分。我可以手动完成,但我不知道以更有用和更快的方式完成。
import pandas as pd
import numpy as np
table_values = pd.DataFrame({'id': ['A', 'B'],
'date1': ['2014/05/05', '2014/05/05'], 'value1': [1, 5],
'date2': ['2014/05/16', '2014/05/16'], 'value2': [8, 7],
'date3': ['2014/07/08', '2014/07/08'], 'value3': [np.nan, 2],
'date4': ['2014/07/15', '2014/07/15'], 'value4': [7, 6],
'date5': ['2014/07/18', '2014/07/18'], 'value5': [3, 1]
})
table_event = pd.DataFrame({'id': ['A', 'B'], 'date_event': ['2014/06/01', '2014/05/10']})
table_all_dates = pd.DataFrame({'id': ['A', 'B'],
'date_event': ['2014/06/01', '2014/05/10'],
'date_before_event' : ['2014/05/16','2014/05/05'],
'value_before_event' : [8,5],
'first_date_after_event' : ['2014/07/15','2014/05/16'],
'first_value_after_event' : [7,7],
'second_date_after_event' : ['2014/07/18','2014/07/08'],
'second_value_after_event' : [3,2],
'third_date_after_event' : ['null','2014/07/15'],
'third_value_after_event' : [np.nan,6],
'fourth_date_after_event' : ['null','2014/07/18'],
'fourth_value_after_event' : [np.nan,1]
})
(table_all_dates ['value_before_event']+table_all_dates ['first_value_after_event'])/2*(table_all_dates ['first_date_after_event']-table_all_dates ['date_before_event'])
解决方案
推荐阅读
- git - WebStorm - how change CRLF line endings into LF
- c++ - 从二进制文件中保存的 4 字节双精度读取 8 字节双精度
- android - 插页式广告 kotlin
- css - 我怎样才能实现这种响应行为
- performance - Kotlin: coroutineScope is slower than GlobalScope
- java - When to use getActivity in addSnapshotListener?
- ruby-on-rails - Rails主动存储,保存前旋转图像
- ios - Unable to connect code from a third-party library
- angular - IIS UrlRewriting and Angular 7 routing
- kotlin - How to store boolean property for Parcelable interface?