熊猫,根据范围创建一个列

约翰尼斯·尼梅拉宁

我正在尝试根据另一列的条件创建一个新列,其范围为该计数。但是,我得到了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"] <= 300),  "length"] = "keskipitkä"

另一个想法是在这里使用cut

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ä

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据熊猫中的条件创建一个布尔列

熊猫,根据数据间隔创建一个列值

根据另一个df列的值范围设置熊猫df列的值

根据来自另一个数据框的行范围添加/填充熊猫列

熊猫根据现有列的第一个唯一值创建新列

根据条件(熊猫)创建一个可以等于许多列之一的新列

根据两个熊猫列创建范围

根据字典创建一个以其他列为条件的熊猫列

根据日期时间和大熊猫今天的日期创建一个新列

根据熊猫正则表达式的条件测试创建一个新列

在熊猫中,根据顺序和值创建一个新列

熊猫根据函数中的值创建一个新的概率列

大熊猫-根据“下一个”行值创建新列

Python熊猫| 创建一个新列-根据特定行的条件聚合函数

根据熊猫中的列值创建一个热列名称

根据来自另一个数据框的查找值创建一个熊猫列

根据另一个熊猫中开始日期和结束日期列的条件创建新的熊猫数据框

熊猫根据其他两个具有日期时间值的列创建一个布尔列

根据熊猫中另一列上的值在数据框中创建一个新列

熊猫根据另一个df的列上的一个条件为df创建一个布尔列

根据另一个值熊猫更新列

对唯一日期进行分组,并根据计算熊猫创建一个新列

根据多个其他列中特定范围内日期的存在创建一个列

根据熊猫数据框中的另一个列表创建一个列表

根据ID的列值创建一个新列

根据其他列创建一个新列

根据不同的列创建一个新列

熊猫:创建一个以列列表作为值的字典

从 natsort 创建一个新的熊猫索引列