【发布时间】:2020-03-20 16:44:26
【问题描述】:
试图创建一个函数来为每个扇区创建新的数据帧,但不确定我在函数的返回部分做错了什么。
这就是我为每个部门创建数字所做的工作。然后在我的数据中,我有一列 gsector,其中包含相应扇区的数字。希望这是有道理的。
# Create a list of the GICS Sectors
Energy = 10
Materials = 15
Industrials = 20
Consumer_Discretionary = 25
Consumer_Staples = 30
Health_Care = 35
Financials = 40
Information_Technology = 45
Communication_Services = 50
Utilities = 55
Real_Estate = 60
GICS_Sectors = [Energy,Materials,Industrials,Consumer_Discretionary,Consumer_Staples,Health_Care,Financials,Information_Technology,Communication_Services,Utilities,Real_Estate]
##############################################################################
def Sector_Subset(dataframe,GICS_Sectors):
"""
This function takes a dataframe and will pull sector specific data
to create a new dataframe for each eactor
Parameters:
dataframe = Portfolio
GICS_Sectors = Each 11 sectors
Return:
GICS_dataframe
Notes:
We want to do this so we can easily graph momentum separately to compare sectors
"""
dataframe[['datadate','GVKEY','trt1m','gsector','Start_Date','Rank_Percentile','Buy_Date','Sell_Date']]
return [dataframe.groupby('gsector').get_group(d) for d in GICS_Sectors]
Energy_Portfolio = Sector_Subset(Portfolio,Energy)
【问题讨论】:
-
你到底想做什么,为什么你认为这是错误的? stackoverflow.com/help/minimal-reproducible-example
-
我要做的是定义函数,以便它根据 gsector 列中的 # 将大数据框 Portfolio 拆分为 11 个较小的数据框,我已经为名称 GICS_Sectors 创建了一个列表一旦我有了函数,我想创建一个循环来使用该函数来创建这 11 个数据帧
标签: python function subset finance