我有一個數據框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
提交
取消