gpt4 book ai didi

python - Pandas 选择最近 20 天的数据。

转载 作者:太空宇宙 更新时间:2023-11-04 00:29:05 25 4
gpt4 key购买 nike

我有一个简单的问题,我似乎无法找到明确的答案。

假设我有一个包含日期、开盘价、最高价、最低价、收盘价和交易量的数据框。

我想做的是首先找到我可以处理的当前日期:

today = pd.datetime.today().date()

我的问题在于从当前日期选择最近 20 天的数据。

我需要选择最后 20 行,因为我需要在该数据集的关闭列中找到最高值和最低值。

任何指针都会有很大帮助。我在谷歌上搜索了一段时间,并不断找到不同的答案。

谢谢!

最佳答案

设置

today = pd.datetime.today().date()

df = pd.DataFrame(
np.random.rand(20, 4),
pd.date_range(end=today, periods=20, freq='3D'),
columns=['O', 'H', 'L', 'C'])

df

O H L C
2017-08-01 0.821996 0.894122 0.829814 0.429701
2017-08-04 0.883512 0.668642 0.524440 0.914845
2017-08-07 0.035753 0.231787 0.421547 0.163865
2017-08-10 0.742781 0.293591 0.874033 0.054421
2017-08-13 0.252422 0.632991 0.547044 0.650622
2017-08-16 0.316752 0.190016 0.504701 0.827450
2017-08-19 0.777069 0.533121 0.329742 0.603473
2017-08-22 0.843260 0.546845 0.600270 0.060620
2017-08-25 0.834180 0.395653 0.189499 0.820043
2017-08-28 0.806369 0.850968 0.753335 0.902687
2017-08-31 0.336096 0.145325 0.876519 0.114923
2017-09-03 0.590195 0.946520 0.009151 0.832992
2017-09-06 0.901101 0.616852 0.375829 0.332625
2017-09-09 0.537892 0.852527 0.082807 0.966297
2017-09-12 0.104929 0.803415 0.345942 0.245934
2017-09-15 0.085703 0.743497 0.256762 0.530267
2017-09-18 0.823960 0.397983 0.173706 0.091678
2017-09-21 0.211412 0.980942 0.833802 0.763510
2017-09-24 0.312950 0.850760 0.913519 0.846466
2017-09-27 0.921168 0.568595 0.460656 0.016313

解决方案
使用 Pandas 日期时间索引切片。非常简单明了,pandas 开发者打算解决这个问题。注意:关心过去 20 天内有多少行,它只抓取所有行。这就是我认为 OP 想要的。

df[today - pd.offsets.Day(20):]

O H L C
2017-09-09 0.537892 0.852527 0.082807 0.966297
2017-09-12 0.104929 0.803415 0.345942 0.245934
2017-09-15 0.085703 0.743497 0.256762 0.530267
2017-09-18 0.823960 0.397983 0.173706 0.091678
2017-09-21 0.211412 0.980942 0.833802 0.763510
2017-09-24 0.312950 0.850760 0.913519 0.846466
2017-09-27 0.921168 0.568595 0.460656 0.016313

关于python - Pandas 选择最近 20 天的数据。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46459140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com