如何根据多种条件更改熊猫数据框列系列中的特定单元格值?

sudonym

我正在尝试替换pandas数据框列中的所有值df.column_A 如果它们在1到10的范围内)

但是,当我这样做时:

df.loc[(1 < df.column_A < 10), "Column_A"] = 1

我在屈服:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()

或者,当我这样做时:

df.loc[(df.column_A < 10) & (df.column_A > 1), "df.column_A"] = 1

我完全没有产生任何错误,但是这些值不会被替换。

奇怪的是,当我这样做时:

df.loc[(df.column_A < 10) | (df.column_A > 1), "df.column_A"] = 1

就像我期望的那样,中的所有值都df.column_A被替换1为。

这意味着该行的语法是正确的,因此该错误一定是由于某些我不了解的因素造成的。

我究竟做错了什么?

卡蒂克

这是一个简单的问题。.loc带索引标签或布尔列表/系列。因此,这将起作用:

df.loc[(df.column_A < 10) & (df.column_A > 1), "column_A"] = 1

请注意,我df.从列索引位置删除了。


df.loc[(1 < df.column_A < 10), "Column_A"] = 1

由于该操作(1 < df.column_A < 10)似乎合乎逻辑,因此无法正常工作,但会尝试将整个Series合并为一个值。而且,因为它不知道你是否希望有一个andor或者一些其他的组合,它引发的错误。

df.loc[(df.column_A < 10) | (df.column_A > 1), "df.column_A"] = 1

也不应该使用,因为您没有正确引用列。有趣的是您没有收到任何错误。也许您之前在程序中做了一些可以节省您的工作...

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫-根据条件更改数据框中的单元格值

如何根据布尔条件更改熊猫数据框中的单元格

熊猫-根据单元格和列中的条件更改单元格值

如何根据条件替换熊猫数据框列中的单元格

如何选择数据框中的特定单元格?

Python Pandas:如何重塑数据框,将特定单元格更改为新列

如何在数据框中添加名称并更改R中的特定单元格

如何为数据框中的特定单元格设置值

熊猫:根据另一列中的条件更改该列的先前单元格值

如何使用df.style根据整数位置(例如df.iloc [1,1])在熊猫数据框中定义特定单元格的颜色?

根据熊猫数据框中的两列合并单元格值

基于多列条件增加熊猫数据框中的单元格值

对于熊猫数据框中的特定单元格,删除列表中的元素

如何在熊猫中具有特定条件的列名放入数据框单元格

如何从熊猫数据框中获取单元格值

如何使用python熊猫获取数据框以覆盖特定单元格中的现有excel?

如何根据条件将值附加到 Pandas 数据框中的单个单元格中

突出显示熊猫数据框中的特定单元格

如何根据R中另一列的条件求和一列的特定单元格?

将数据框列除以特定单元格

如何根据 Pyspark 数据框中的条件修改单元格值

如何根据新列中的多个条件从数据框的单元格中获取值?

对Pandas数据框中的特定单元格求和

如何通过 Python3.7 中的 Pandas 数据框验证 Excel 工作表中的特定单元格值

熊猫:根据条件更改单元格值

如何计算python熊猫中的特定单元格值?

如何在熊猫列中的特定单元格中添加连字符

如何根据活动/选定单元格更改单元格值

熊猫数据框根据条件更改列中的值