我有一个数据框import pandas as pddata = {'A': ['SA01', '0007', 'SA06', '0198', 'SA06'], 'B': [2012, 2012, 2013, 2014, 2014], }df = pd.DataFrame(data)df = A B SA01 2012 0007 2012 SA06 2013 0198 2014 SA06 2014我想使用 df.apply 或熊猫的其他功能添加一个 df['C'] 如下:df = A B C SA01 2012 M 0007 2012 F SA06 2013 M 0198 2014 F SA06 2014 M如果 df['A'] 包含子字符串 'SA',则 df['C'] 为 'M' 否则为 'F'。怎么解决?
1 回答
MMTTMM
TA贡献1869条经验 获得超4个赞
numpy.where
与由contains
or创建的布尔掩码一起使用startswith
:
df['new'] = np.where(df['A'].str.contains('SA'), 'M', 'F')
#alternative solution
#df['new'] = np.where(df['A'].str.startswith('SA'), 'M', 'F')
print (df)
A B new
0 SA01 2012 M
1 0007 2012 F
2 SA06 2013 M
3 0198 2014 F
4 SA06 2014 M
添加回答
举报
0/150
提交
取消