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

文斯

我有一个带有很多“坏”单元格的数据框。假设,它们都具有-99.99的值,我想删除它们(将它们设置为NaN)。

这很好用:

df[df == -99.99] = None

但是实际上我只想删除所有这些单元格,如果同一行中的另一个单元格的市场价格为1(例如,在“错误”列中)。

我想删除所有-99.99单元格,但前提是df [“ Error”] == 1。

我最简单的解决方案是

df[(df == -99.99) & (df["Error"] == 1)] = None

但这给了我错误:

ValueError: cannot reindex from a duplicate axis

我尝试了Internet上所有给定的解决方案,但无法正常工作!:(

由于我的Dataframe很大,所以我不想对其进行迭代(这当然可以,但是要花很多时间)。

有什么提示吗?

广晃

传递numpy值时尝试使用广播:

# sample data, special value is -99
df = pd.DataFrame([[-99,-99,1], [2,-99,2], 
                   [1,1,1], [-99,0, 1]], 
                  columns=['a','b','Errors'])

# note the double square brackets
df[(df==-99) & (df[['Errors']]==1).values] = np.nan

输出:

     a     b  Errors
0  NaN   NaN       1
1  2.0 -99.0       2
2  1.0   1.0       1
3  NaN   0.0       1

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

根据熊猫中的单元格值索引列

迭代熊猫中的列并更改单元格的值-Python

熊猫:根据其他列和值本身更改单元格值

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

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

熊猫根据行中其他单元格的值向单元格分配值

熊猫–根据单元格值选择列

根据熊猫中的值填充单元格

在熊猫中获取单元格值

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

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

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

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

在熊猫中获取具有特定值的单元格的行和列

在熊猫中为行中的空单元格附加单元格值

根据将另一个单元格与另一个数据帧的单元格进行比较来更改一个数据帧中单元格的值-熊猫

熊猫:仅过滤标头,第一个单元格值和单元格值:如果行中的一个或多个单元格满足条件

熊猫:无法根据其他列上的条件设置单元格值

熊猫将每个单元格的列转换为 ndarray 以在每个单元格中列出

替换熊猫中单元格中的多个值

在熊猫单元格中添加值

在熊猫单元格中追加列表

熊猫从单元格中剥离文本

根据其左侧单元格的值在熊猫数据框中填充NaN值

如何在熊猫中设置特定的单元格值?

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

在熊猫中每个单元格替换多个值