我正在试图使用between_time
找到两点之间的值min()
。我已经创建了两个栏,我想为我的开始使用和结束的时间来寻找最小值和输出添加到新列:熊猫时间戳 - 无法将参数转换为时间错误
这是DF的剪断:
df[['Date_Time','d1_idx_last','Low']]
Date_Time d1_idx_last Low
Timestamp
2015-09-01 09:30:00.000 2015-09-01 09:30:00.000 2015-09-01 16:14:51.000 1887.750
2015-09-01 09:30:01.000 2015-09-01 09:30:01.000 2015-09-01 16:14:51.000 1888.250
2015-09-01 09:30:01.200 2015-09-01 09:30:01.200 2015-09-01 16:14:51.000 1888.000
2015-09-01 09:30:10.100 2015-09-01 09:30:10.100 2015-09-01 16:14:51.000 1889.250
2015-09-01 09:30:11.100 2015-09-01 09:30:11.100 2015-09-01 16:14:51.000 1889.500
我想使用此代码:
df.Low.between_time(df.Date_Time, df.d1_idx_last, include_start=True, include_end=True)
,并得到这个错误:
Cannot convert arg [1441099800000000000 1441099801000000000 1441099801200000000 ...,
1470924200100000000 1470924369230000000 1470924793157000000] to a time
列'Date_Time'
& 'd1_idx_last'
都是pandas.tslib.Timestamp
。
更新澄清:
因此,如果我们看第一行就说明
'Date_Time' 2015-09-01 09:30:00.000
'd1_idx_last'2015-09-01 16:14:51.000
在此列'Date_Time'
& 'd1_idx_last'
之间的时间捕获一个完整的交易日( 09:30-16:15),我希望这两点之间的时间很短。
在这一天市场低至1863.500,因此这将是(09:30-16:15)的最小值。
df[['Low']]['2015-09-01'].min()
Low 1863.500
dtype: float64
如果1863.500的低点在13:00点出现,此点之后的滚动低点将会更高。
我想一个名为df['subset_low']
新列上每行检查'Date_Time'
& 'd1_idx_last'
,发现这一时期的低,增加了它的df,[“subset_low”]。它正在检查当前时间和当天的最后一点,并显示此时间之间的低点。
使用@Maxu假数据在Low
和(期望的)subset_low
列又如:
你需要传递'between_time'标值 - 不是一个系列的对象...... –
我会做到这一点通过使用'apply'在每行的基础上实现?任何人都可以帮助修复我的代码吗? – ade1e