python dataframe列应用函数
我有一个数据帧python dataframe列应用函数,python,pandas,Python,Pandas,我有一个数据帧 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
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或pandas的其他函数添加一个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'。如何求解?与由或创建的布尔掩码一起使用:
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