python数据框列应用一个函数

我有一个数据框


import pandas as pd

data = {'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'。怎么解决?


呼啦一阵风
浏览 248回答 1
1回答

MMTTMM

numpy.where与由containsor创建的布尔掩码一起使用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 new0  SA01  2012   M1  0007  2012   F2  SA06  2013   M3  0198  2014   F4  SA06  2014   M
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python