如何均衡不同数据集的变量数量?美股多年份数据集统一变量数问询
美股数据集变量缩减方案
核心思路:以2014年数据集的901个变量为基准,提取其他年份数据集中与它完全重合的变量,确保所有年份数据集变量数量一致。
操作步骤(以Python pandas为例)
- 读取所有年份的美股数据集
- 提取2014年数据集的变量名列表
- 对其余年份数据集,仅保留该列表中的变量
- 保存处理后的标准化数据集
示例代码
import pandas as pd # 读取各年份数据集(根据实际文件格式调整读取方式,如excel用read_excel) df_2014 = pd.read_csv('2014_us_stocks.csv') df_2015 = pd.read_csv('2015_us_stocks.csv') df_2016 = pd.read_csv('2016_us_stocks.csv') df_2017 = pd.read_csv('2017_us_stocks.csv') df_2018 = pd.read_csv('2018_us_stocks.csv') # 获取2014年的变量列表,作为基准 base_columns = df_2014.columns.tolist() # 缩减其他年份的变量数量至901个 df_2015_clean = df_2015[base_columns] df_2016_clean = df_2016[base_columns] df_2017_clean = df_2017[base_columns] df_2018_clean = df_2018[base_columns] # 保存处理后的数据集 df_2015_clean.to_csv('2015_us_stocks_standardized.csv', index=False) df_2016_clean.to_csv('2016_us_stocks_standardized.csv', index=False) df_2017_clean.to_csv('2017_us_stocks_standardized.csv', index=False) df_2018_clean.to_csv('2018_us_stocks_standardized.csv', index=False)
注意事项
- 确保变量名完全匹配:检查不同年份数据集的变量名是否存在大小写、空格、符号差异,必要时先统一变量名格式(如转为小写、去除空格)
- 缺失变量处理:如果某年份缺少2014年的部分变量,可根据分析需求选择填充缺失值(如均值、中位数)或剔除该变量(需同步从2014年数据集中移除,保证变量一致)
内容的提问来源于stack exchange,提问作者Ayaz Aliyev
相关产品推荐
相关产品推荐

