【发布时间】:2018-12-10 04:05:58
【问题描述】:
我正在研究数字范围的分布,例如 0-1、2-3、4-6 和 >=7 我有以下数据框
df = pd.DataFrame()
df['T1'] =[0,2,0,3,4,5,1]
df ['T2']= [1,2,3,0,2,3,3]
df['TT'] = df.T1+df.T2
我想创建一个新列来确定范围,我写如下:
U0_1 = df ['TT']<=1
U2_3 = df ['TT']>1 & df ['TT']<=3
U4_6 = df ['TT']>3 & df ['TT']<=6
df ['TG'] = np.select([U0_1,U2_3,U4_6],['TG_0-1','TG_2-3','TG_4-6'],default = 'TG_7>=')
但它显示了以下错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
可以请教大家的意见吗?
谢谢,
泽普。
【问题讨论】:
-
U2_3 =( df ['TT']>1) &( df ['TT']<=3)使用() -
感谢您的建议。欣赏它。
标签: python pandas logical-operators