gpt4 book ai didi

python-2.7 - Pandas:将 'crop' 作为大型数据帧仅用于前 1000 天的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-04 04:36:56 26 4
gpt4 key购买 nike

我有一个数据框,其中索引由日期时间组成。我也有一个 anchor 定日期,我知道我只希望第二个数据框包含 anchor 定日期之前的 1000 天。做到这一点的最佳方法是什么?

最佳答案

不知道这是否是最好的方法,但它应该有效

创建示例数据帧:

>>> dates = [pd.datetime(2012, 5, 4), pd.datetime(2012, 5, 5), pd.datetime(2012, 5, 6), pd.datetime(2012, 5, 1), pd.datetime(2012, 5, 2), pd.datetime(2012, 5, 3)]
>>> values = [1, 2, 3, 4, 5, 6]
>>> df = pd.DataFrame(values, dates)
>>> df
>>> df
0
2012-05-04 1
2012-05-05 2
2012-05-06 3
2012-05-01 4
2012-05-02 5
2012-05-03 6

假设我们想要从 2012-05-04 返回 2 天:
>>> date_end = pd.datetime(2012, 5, 4)
>>> date_start = date_end - pd.DateOffset(days=2)
>>> date_start, date_end
(datetime.datetime(2012, 5, 2, 0, 0), datetime.datetime(2012, 5, 4, 0, 0))

现在让我们尝试通过 label indexing 获取行:
>>> df.loc[date_start:date_end]
Empty DataFrame
Columns: [0]
Index: []

那是因为我们的索引没有排序,所以让我们修复它:
>>> df.sort_index(inplace=True)
>>> df.loc[date_start:date_end]
0
2012-05-02 5
2012-05-03 6
2012-05-04 1

也可以通过 datetime indexing 获取行:
>>> df[date_start:date_end]
0
2012-05-02 5
2012-05-03 6
2012-05-04 1

请记住,我仍然不是 Pandas 的专家,但我非常喜欢它的数据分析。

希望能帮助到你。

关于python-2.7 - Pandas:将 'crop' 作为大型数据帧仅用于前 1000 天的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19602406/

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