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

如何从DataFrame列中提取字符串前3个字符并存入新列

问题描述

需要从Pandas DataFrame的'A'列中提取每个字符串的前3个字符(字母或数字均可),并将结果存入新列'C'中。

示例数据:

A        B      
12525    1FWE23   
14654    22354    
24798    32684     
38945    45368     
46456    46485     
AD545    45346     
A5D66    58446      

预期结果:

A        B      C
12525    1FWE23   125       
14654    22354    146
24798    32684    247
38945    45368    389
46456    46485    464
AD545    45346    AD5
A5D66    58446    A5D
解决方案

利用Pandas的字符串切片方法str[:3]即可快速实现需求,具体操作如下:

核心代码

如果'A'列已经是字符串类型,直接执行:

df['C'] = df['A'].str[:3]

如果'A'列是数值类型(如整数),需要先转换为字符串再切片:

df['C'] = df['A'].astype(str).str[:3]

完整示例代码

import pandas as pd

# 构建示例DataFrame
df = pd.DataFrame({
    'A': ['12525', '14654', '24798', '38945', '46456', 'AD545', 'A5D66'],
    'B': ['1FWE23', '22354', '32684', '45368', '46485', '45346', '58446']
})

# 生成新列C
df['C'] = df['A'].str[:3]

# 输出结果
print(df)

执行后即可得到与预期一致的DataFrame,该方法对纯数字、字母数字混合的字符串均有效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:25:39