我想要一个列“PRI/TEN”
。
- 当 PRIMARY RESOURCE 列包含
"BERIX"
时,PRI/TEN
应 有“待定”
。 - 当 PRIMARY RESOURCE 列包含
“BERIXTVX”
时,PRI/TEN
应为"TEN"
。 - 当 PRIMARY RESOURCE 列包含
“BERIXVX”
、PRI/TEN
应具有“PRI”
。
我尝试过:
data1['PRI/ TEN'] = np.where(data1['First']!='BERIXVX', 'PRI','TEN')
这是我的原创专栏
Primary Resource
BERIX_MYANMAR ONLY
BERIXTVX_BOOST IPV
BERIXTVX_BOOST IPV
BERIXVX_ENCEPUR A AD
BERIXVX_ENCEPUR AD
BERIXTVX_BOOST IPV
BERIXTVX_BEXSERO
这就是我想要的
Primary Resource PRI/TEN
BERIX_MYANMAR ONLY TBC
BERIXTVX_BOOST IPV TEN
BERIXTVX_BOOST IPV TEN
BERIXVX_ENCEPUR A AD PRI
BERIXVX_ENCEPUR AD PRI
BERIXTVX_BOOST IPV TEN
BERIXTVX_BEXSERO TEN
最佳答案
试试这个:
def categorizer(row):
if 'BERIXTVX' in row:
return 'TEN'
elif 'BERIXVX' in row:
return 'PRI'
elif 'BERIX' in row:
return 'TBC'
# Return a default value
return None
data1['PRI/TEN'] = data1['PRIMARY RESOURCE'].apply(categorizer)
这会将函数 categorizer
应用于 PRIMARY RESOURCE
列中的每一行。但它不是矢量化的,所以如果有性能问题请告诉我。
关于python - 列上的多个条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57138760/