python - 如何重新采样并将每个索引四舍五入到最接近的秒数?

标签 python database pandas dataframe

我的数据看起来像(数据类型是 Pandas DataFrame):

price = 

time                bid
03:03:34.797000     116.02
03:03:34.797000     116.02
03:03:54.152000     116.02
03:03:54.169000     116.02
03:03:54.169000     116.02
03:07:36.899000     116.24
03:07:48.760000     116.24
03:07:48.760000     116.24
03:07:48.761000     116.24

我尝试将数据重新采样为二级数据,并将每个数据对齐到最接近的秒数,不早于原始时间。我希望结果是:

03:04:00    116.02
03:05:00    NaN
03:06:00    NaN
03:07:00    NaN
03:08:00    116.24

和使用

price.resample('Min').last()

但是我得到了。

03:03:34.797000     116.02
03:04:34.797000     NaN
03:05:34.797000     NaN
03:06:34.797000     NaN
03:07:34.797000     116.24

一切顺利,除了对齐。任何人都可以帮我解决这个问题吗?谢谢。

最佳答案

(df.groupby(df['time'].dt.round('1min') )['bid'].mean()).asfreq('Min')
Out[45]: 
time
2017-12-06 03:04:00    116.02
2017-12-06 03:05:00       NaN
2017-12-06 03:06:00       NaN
2017-12-06 03:07:00       NaN
2017-12-06 03:08:00    116.24
Freq: T, Name: bid, dtype: float64

关于python - 如何重新采样并将每个索引四舍五入到最接近的秒数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47684057/

相关文章:

python - 使用 pymongo 在 mongodb 中按 ObjectId 搜索

python - 如何在 Python 中打印非 ASCII 字符

mysql - Wordpress 分类法 - 它如何知道哪个 object_id?

mysql - 组函数MySql的无效使用

python - pandas DataFrames 的字典 x.update(y)?

python - PySide QWebView 和下载不支持的内容

python - OpenCV对象检测一个困难的对象

mysql - SQL 处理 ACID 和并发

python - 如何计算数据框中一系列范围的平均值?

python - 从 YYYYMM 格式的日期中减去 1 年