如果更改,您的解决方案是可能的
()
:
df['B'] = np.where(df['A']>2,'A1',
np.where(df['A'].between(0,2),'A2',
np.where(df['A'].between(-2,0),'A3',
np.where(df['A']<-2, 'A4',''))))
cut
:
df['B1'] = pd.cut(df['A'], bins=(-np.inf,-2,0,2,np.inf), labels=('A4','A3','A2','A1'))
print (df)
A B B1
0 -4.0 A4 A4
1 -3.5 A4 A4
2 -2.5 A4 A4
3 -1.0 A3 A3
4 1.0 A2 A2
5 1.5 A2 A2
6 2.0 A2 A2
7 2.5 A1 A1
8 3.5 A1 A1