使用Pandas Resamp时丢失数据

2024-04-28 20:41:07 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我做错了什么,我很抱歉,但我已经试了很长一段时间来自己解决这个问题。我有一个巨大的数据集,包含了大约3000只股票的所有历史价格(每日收盘价),相当于超过1500万行。问题是我似乎无法在不丢失大量数据的情况下重新采样数据。我的目标是只保留所有股票的月度收盘价,同时保持数据的形状,包括股票代码、日期和收盘价列。在

wiki_prices_df = pd.read_csv('/gitHub/finance/PRICES_03_11_18.csv',usecols=['ticker','date','close'],parse_dates=['date'])

wiki_prices_df[:10]
    ticker  date    close
0   A   1999-11-18  44.00
1   A   1999-11-19  40.38
2   A   1999-11-22  44.00
3   A   1999-11-23  40.25
4   A   1999-11-24  41.06
5   A   1999-11-26  41.19
6   A   1999-11-29  42.13
7   A   1999-11-30  42.19
8   A   1999-12-01  42.94
9   A   1999-12-02  44.13

wiki_prices_df.shape
(15360208, 3)

“date”列已设置为时间戳数据。我得到的结果喜忧参半,我不知道我应该使用“日期范围”或“.resample”将行数减少到月底。我试过了

^{pr2}$

Tags: csv数据目标dfclosedatewiki情况
1条回答
网友
1楼 · 发布于 2024-04-28 20:41:07

听起来你要做的是过滤,而不是重新采样。在

wiki_prices_df["date"] = pd.to_datetime(wiki_prices_df["date"])
wiki_prices_df = wiki_prices_df[wiki_prices_df["date"].dt.is_month_end]

将删除除月末行之外的所有内容。在

相关问题 更多 >