You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python合并CSV文件中permno_adj与publn_year列

解决方法

要把permno_adj和publn_year合并成你需要的格式,核心就是把整数类型的publn_year转成字符串,再和permno_adj直接拼接。以下是两种简单高效的实现方式:

方法一:直接用字符串拼接运算符

这是最直观的写法,先通过astype(str)把年份转成字符串,再和permno_adj拼接:

# 新增合并后的列,命名为combined_id(可自定义列名)
patents['combined_id'] = patents['permno_adj'] + patents['publn_year'].astype(str)

方法二:用pandas的str.cat()方法

如果需要更灵活的拼接控制(比如后续加分隔符),可以用str.cat():

patents['combined_id'] = patents['permno_adj'].str.cat(patents['publn_year'].astype(str), sep='')

完整代码示例

把拼接逻辑整合到你的现有代码里:

import pandas as pd

patents = pd.read_csv('E:/Work/file.csv')

patents = patents[['publn_nr', 'permno_adj', 'publn_year', 'IPC1']].dropna().drop_duplicates().reset_index(drop=True)
patents = patents[(patents['publn_year'] >= 1980) & (patents['publn_year'] < 2016)].reset_index(drop=True)

# 执行合并操作
patents['combined_id'] = patents['permno_adj'] + patents['publn_year'].astype(str)

print(patents)

运行后输出会新增combined_id列,效果如下:

publn_nr permno_adj  publn_year  IPC1   combined_id
0            1830    US4060B        2005  F16F  US4060B2005
1           24429    US4060A        2004  B29C  US4060A2004
2           24943     US1794        2006  C08J   US17942006
3           26115  US133366B        1999  A61B US133366B1999
4           31737    US4060A        2004  C08F  US4060A2004

内容的提问来源于stack exchange,提问作者Gaju_masare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 07:15:42