因此,我要添加一个名为'Top Tier'
的新列,其中MAKE 'BMW, FORD, BENZ, CHEVROLET'
将具有值'Top'
,而其他MAKE将具有'Not Top'
< / p>
df['Top Tier'] = np.where(df['MAKE']==['FORD', 'BMW', 'BENZ' , 'CHEVROLET], 'Top', 'Not Top')
^这不起作用。我想使用np。
答案 0 :(得分:1)
您可以这样操作:
df['Top Tier'] = df['MAKE'].map(lambda x: 'Top' if x in ['FORD','BMW','BENZ','CHEVROLET'] else 'Not Top')
或者这个:
df['Top Tier'] = df['MAKE'].isin(['FORD','BMW','BENZ','CHEVROLET']).replace({True: 'Top', False: 'Not Top'})
答案 1 :(得分:0)
根据OP的要求,使用np
的解决方案:
import pandas as pd
import numpy as np
df = pd.DataFrame({"MAKE": ['FORD', 'BMW', 'BENZ' , 'CHEVROLET', "SOMETHING ELSE"]})
top_tiers = ["FORD", "BMW", "BENZ" , "CHEVROLET"]
df["Top Tier"] = np.where(df['MAKE'].map(lambda x: x in top_tiers), "Top", "Not Top")
df