df = pd.read_excel('stockdata.xlsx', dtype={'股票代码': 'str'}) df['年份'] = pd.DatetimeIndex(df['日期']).year df = df.groupby(['股票代码', '年份', '行业代码']).mean().reset_index() df = df.groupby(by=['股票代码', '年份', '行业代码'], as_index=False).first() # 如果一个企业有多个实际控制人或行业代码,选取第一个数值 df.fillna(df.mean(), inplace=True) # 处理缺失值,使用均值填充 df['实际控制人性质']=df.fillna(method='bfill', inplace=True) df = df[['股票代码', '年份', '行业代码', '实际控制人性质', '短期负债', '长期负债合计', '资产负债率']] df.to_excel('a2.xlsx', index=False, encoding='utf-8')
时间: 2023-08-20 12:39:43 浏览: 67
历史股票数据下载(替代方法):通过解析 html 页面而不是 .csv 下载从雅虎财经检索历史股票数据。-matlab开发
这段代码是用来对股票数据进行处理的。首先,它从名为 "stockdata.xlsx" 的Excel文件中读取数据,数据中包括股票代码、日期、行业代码、实际控制人性质、短期负债、长期负债合计和资产负债率等字段。然后,它通过对日期进行处理,提取出年份,并按照股票代码、年份和行业代码进行分组,计算每组的均值,并将多个实际控制人或行业代码的情况下,选取第一个数值。接着,它使用均值填充缺失值,并将实际控制人性质填充为后一个非缺失值。最后,它选择股票代码、年份、行业代码、实际控制人性质、短期负债、长期负债合计和资产负债率这些字段,并将处理后的数据保存到名为 "a2.xlsx" 的Excel文件中。
阅读全文