请求协助:基于Company列字符规则生成新列
按规则生成Company列的新列
Excel 公式解法
直接使用IF+MID+LEFT组合公式,在目标单元格输入:
=IF(OR(MID(A2,2,1)="X",MID(A2,2,1)=" "),"DX",LEFT(A2,2))
对应示例值的结果:
- D 00 → 第二个字符为空格,返回 DX
- DEXI → 第二个字符为E,返回 DE
- DX00 → 第二个字符为X,返回 DX
- DX → 第二个字符为X,返回 DX
- WX → 第二个字符为X,返回 DX
- W 00 → 第二个字符为空格,返回 DX
Python Pandas 解法
如果用Pandas处理数据集,有两种常用方式:
方式1:使用apply自定义逻辑
import pandas as pd # 假设df是你的数据集,Company为目标列 df['New_Company'] = df['Company'].apply( lambda x: 'DX' if len(x) >= 2 and (x[1] == 'X' or x[1] == ' ') else x[:2] )
方式2:使用np.where实现矢量化运算(更高效)
import pandas as pd import numpy as np # 构建判断条件 condition = df['Company'].str[1].isin(['X', ' ']) # 生成新列 df['New_Company'] = np.where(condition, 'DX', df['Company'].str[:2])
内容的提问来源于stack exchange,提问作者sroko1
相关产品推荐
相关产品推荐

