如何从dataframe的指定列中提取整数并生成独立新列
从DataFrame指定列提取整数并生成新列的操作方法
前置依赖
确保你已经导入pandas库:
import pandas as pd
通用场景(高亮列是混合字符串+数字的格式)
大部分场景下你需要从混杂了其他字符的列中提取数字,直接用正则匹配即可:
# 请将下方的「高亮列」替换为你实际要提取的列名,「提取的整数」替换为你想要的新列名 # 正则(\d+)表示匹配连续的数字段,默认取第一个匹配到的数字 df['提取的整数'] = df['高亮列'].str.extract(r'(\d+)').astype(int)
特殊场景适配
- 若单条内容里存在多个数字段,需要全部拼接后转整数:
df['提取的整数'] = df['高亮列'].str.findall(r'(\d+)').apply(''.join).astype(int)
- 若存在无数字的空匹配行,可填充默认值避免报错:
# 无数字的行默认填充0,你也可以替换为其他默认值 df['提取的整数'] = df['高亮列'].str.extract(r'(\d+)').fillna(0).astype(int)
- 若高亮列本身是数值类型(比如浮点型),直接取整即可:
df['提取的整数'] = df['高亮列'].astype(int)
内容的提问来源于stack exchange,提问作者pk_rathee
相关产品推荐
相关产品推荐

