Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python—如何从数据列表中为每个月创建新的数据帧_Python_Pandas - Fatal编程技术网

Python—如何从数据列表中为每个月创建新的数据帧

Python—如何从数据列表中为每个月创建新的数据帧,python,pandas,Python,Pandas,我有一份多年来的股票数据清单,我想删除每个月市值的底部x%。我的想法是做一个循环,为每个月创建一个新的Pandas数据帧,然后在这个月内,我移除市值的底部x%。这就是数据的样子 df['date']=pd.to_datetime(df['date']) df['year-month']=df['date'].map(λx:x.strftime(“%Y-%m”)) df=df.sort_值(['year-month','MarketCap',升序=[True,False]) df=df.group

我有一份多年来的股票数据清单,我想删除每个月市值的底部x%。我的想法是做一个循环,为每个月创建一个新的Pandas数据帧,然后在这个月内,我移除市值的底部x%。这就是数据的样子

df['date']=pd.to_datetime(df['date'])
df['year-month']=df['date'].map(λx:x.strftime(“%Y-%m”))
df=df.sort_值(['year-month','MarketCap',升序=[True,False])
df=df.groupby('year-month')。应用(λx:x[x['MarketCap']>x['MarketCap'].分位数(.1)]。重置指数(1,下降=真)
df=df.drop(列=['year-month'])。reset_index().drop(列=['year-month']))
首先创建一个只包含年和月的列

然后对
年-月
MarketCap
列进行升序和降序排序


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

hmmm我刚刚运行了代码,出于某种原因,前后的行数是same@orange123编辑我的答案。谢谢!新的df现在只有指数和市值;如果你能确保其他栏目也在那里,那就太好了!“我正在考虑使用内部连接来组合这两组数据帧,但必须有一种更简单的方法,对吗?”orange123编辑了我的答案。