乐于分享
好东西不私藏

附源码 | 财管/经济学人必备:一键合并9张CSMAR数据表,直接跑回归!

附源码 | 财管/经济学人必备:一键合并9张CSMAR数据表,直接跑回归!

别再手搓VLOOKUP了!一个Python脚本,10秒搞定国泰安(CSMAR)面板数据合并

又到了经管人疯狂掉头发的季节。提到做实证分析、写行业研报,绕不开的一座大山就是——洗数据。尤其是处理国泰安(CSMAR)数据库下载下来的原始表格,堪称一场灾难:

控制变量在 A 表,因变量在 B 表,财务基本面在 C 表……好不容易下好了十几张 CSV 格式的表格,准备合并时发现:❌ 股票代码有的带后缀 .0,有的不带;❌ 年份格式五花八门,有的是 2022,有的是 2022-12-31❌ 用 Excel 的 VLOOKUP 匹配十万级数据,电脑风扇狂转,最后直接无响应卡死……

为了解决这个“经管界世纪难题”,今天我不说废话,直接开源一个我自用已久的 Python 面板数据自动化清洗与合并脚本

你只需要把下载好的表扔进同一个文件夹,点击运行,10秒钟,它就能吐出一份干干净净、随时可以导入 Stata 或 SPSS 跑回归的 Panel Data(面板数据)。

🚀 这个脚本能帮你省去多少麻烦?

它不仅仅是一个简单的 merge 拼接工具,我把它封装成了一个傻瓜式的“清洗流水线”,内置了实证分析中最常踩坑的脏数据处理逻辑:

1. 🪪 强迫症福音:股票代码完美对齐自动识别表头,剥离烦人的 .0 后缀,并自动补齐 6 位代码(例如把 1 变成 000001)。再也不怕多表合并时代码匹配不上导致数据全部错位。

2. 📅 日期格式智能提取无论是单纯的年份列,还是财务报表里复杂的 2022-12-31 格式,代码内置了时间戳提取逻辑,统统一键转化为标准年份。

3. 🗑️ 降维打击:自动剔除冗余与残缺值实证研究通常需要剔除金融行业,本脚本会自动过滤 IndustryCode 为 J 类的企业;同时自动清理掉缺失核心指标(如资产总计、资产负债率)的废弃行,保证你的样本干净纯粹。

4. ➕ 衍生变量一键生成在合并的过程中,它甚至顺手帮你把常见的控制变量算好了!比如“企业上市年龄(Age)”、“企业规模(Size = ln(资产))”,能用代码秒算的东西,绝不让你手动拉公式。


💻 核心代码赏析

给懂行的小伙伴看一眼我们极简的底层逻辑(以最核心的智能读取模块为例):

def load_data(file_keyword):    """根据关键词在目录下寻找文件并读取,同时清洗CSMAR表头"""    files = os.listdir()    target_file = next((f for f in files if file_keyword in f), None)    if not target_file:        raise FileNotFoundError(f"未找到包含关键词 '{file_keyword}' 的文件!")    # 兼容 CSV 与 Excel,防报错机制    if target_file.endswith('.csv'):        try:            df = pd.read_csv(target_file, encoding='utf-8', low_memory=False)        except:            df = pd.read_csv(target_file, encoding='gbk', low_memory=False)    else:        df = pd.read_excel(target_file)    # 自动识别并补齐6位股票代码,告别乱码    id_col = 'Stkcd' if 'Stkcd' in df.columns else ('Symbol' if 'Symbol' in df.columns else None)    if id_col:        df = df[pd.to_numeric(df[id_col], errors='coerce').notna()].copy()    return df

🎁 粉丝专属:完整源码获取

篇幅有限,为了保证大家拿到手就能跑通,我把 完整的 .py 源码文件 打包好了。

代码里我写了极其详细的中文注释。就算你 Python 只是“半吊子”水平,只要把代码里的文件夹路径改成你自己的,就能直接一键运行,原地起飞。

👇 获取方式非常简单:

  1. 1. 关注本公众号:[你的公众号名字,发文前记得替换]
  2. 2. 在后台聊天窗口发送关键词:CSMAR即可获得无套路的网盘下载链接。

如果你在运行中遇到任何环境配置或报错问题,欢迎在评论区留言,或者后台加我微信交流。

效率时代,不要把时间浪费在造轮子上,把精力留给真正的实证思考。

💡 下期预告:有了干净的数据后,如何用 AI 辅助我们快速产出变量描述性统计与相关性分析表?记得星标本号,防走丢!

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 附源码 | 财管/经济学人必备:一键合并9张CSMAR数据表,直接跑回归!

评论 抢沙发

2 + 6 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮