繁体   English   中英

Python - 如何从数据列表中为每个月创建一个新的 dataframe

[英]Python - How to create a new dataframe for each month out of a list of data

我有一份多年来的股票数据列表,我想删除每个月市值最低的 x%。 我的想法是创建一个循环,为每个月创建一个新的 Pandas dataframe,然后在那个月内,我删除市值最低的 x%。 这是数据的样子

在此处输入图像描述

df['date'] = pd.to_datetime(df['date'])
df['year-month'] = df['date'].map(lambda x: x.strftime('%Y-%m'))

df = df.sort_values(['year-month', 'MarketCap'], ascending=[True, False])

df = df.groupby('year-month').apply(lambda x: x[x['MarketCap'] > x['MarketCap'].quantile(.1)]).reset_index(1, drop = True)

df = df.drop(columns=['year-month']).reset_index().drop(columns=['year-month'])

首先创建一个只包含年和月的列。

然后对year-monthMarketCap列进行升序和降序排序。

MarketCap列分组,并过滤掉每组中低于 10% 的行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM