Python 熊猫,基于范围创建列

Python 熊猫,基于范围创建列,python,pandas,range,Python,Pandas,Range,我正在尝试根据另一列的条件创建一个新列,其范围为该计数。然而,我得到了一个ValueError:序列的真值是模糊的。使用a.empty、a.bool()、a.item()、a.any()或a.all() 我试图使用同一列两次来创建范围,但它不起作用。问题在哪里 df.loc[(df["count_words"] > 100 & df["count_words"] <= 300), "length"] = "

我正在尝试根据另一列的条件创建一个新列,其范围为该计数。然而,我得到了一个ValueError:序列的真值是模糊的。使用a.empty、a.bool()、a.item()、a.any()或a.all()

我试图使用同一列两次来创建范围,但它不起作用。问题在哪里

df.loc[(df["count_words"] > 100 & df["count_words"] <= 300),  "length"] = "keskipitkä"
df.loc[df["count_words"] <= 100, "lenght"] = "lyhyt"
df.loc[df["count_words"] > 300,  "length"] = "pitkä"
df.loc[(df[“count_words”]>100&df[“count_words”]问题在于
()
,因为操作员的优先级:

df.loc[(df["count_words"] > 100) & (df["count_words"] <= 300),  "length"] = "keskipitkä"
df=pd.DataFrame({'count_words':[10, 100, 200, 300, 4999]})


df["lenght"] = pd.cut(df["count_words"], 
                         bins= [-np.inf, 100, 300, np.inf], 
                         labels=['lyhyt','keskipitkä','pitkä'])
print (df)
   count_words      lenght
0           10       lyhyt
1          100       lyhyt
2          200  keskipitkä
3          300  keskipitkä
4         4999       pitkä