将某个字段中的某些值替换为另一个

gnunez88

我想将某个领域的英勇换成另一个。例如:假设我有一个标识符为dfpandas.DataFrame对象(是的,非常原始),它有几列,但其中有些列是相关的,不能为空。

我注意到一些值设置在另一个字段中。假设field1是一个相关字段,而field2不是。我有一千个寄存器,当我获得新数据时,它每周都在增加,并且由于我喜欢使事情自动化,所以我首先检查以下可能的值:

idx = df[df.field1.isna() & df.field2.notna()].index

然后我尝试替换它们:

df.loc[idx, ['field1']] = df.loc[idx, ['field2']]

但是当我看到结果时,什么都没有改变……为什么?我以这种方式用单个值代替,但是如果它们不同,我将无法再进行替换。

df.loc[idx, ['field1']] = "Not empty any longer"  # This will work

我无法弄清楚如何以一种……好的方式实现这一目标?我的意思是,我不想手动检查它,如果它们只有50岁也没关系,我必须对其他领域也做同样的事情,我可能会得到更多这样的信息(而且我会这样做)。

谢谢!

德里克·奥

尝试这个: df.loc[idx, ['field1']] = df.loc[idx, ['field2']].values

例:

# The None in 'field1' should be replaced by the 'field2' value
df = pd.DataFrame({'field1':[1,2,3,None,5], 'field2':[6,7,8,8,None]})
idx = df[df.field1.isna() & df.field2.notna()].index
df.loc[idx, ['field1']] = df.loc[idx, ['field2']].values

原始数据框:

df
   field1  field2
0     1.0     6.0
1     2.0     7.0
2     3.0     8.0
3     NaN     8.0
4     5.0     NaN

修改后的df:

df
   field1  field2
0     1.0     6.0
1     2.0     7.0
2     3.0     8.0
3     8.0     8.0
4     5.0     NaN

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何比较列表中的某个字段并将其值插入另一个列表中?

如何删除一个表中ID与另一个表中某个字段为某个值的表中的行?

MSSQL将某个字符后的字符串替换为另一个字符串

查找某个字段与数组中另一个字段进行比较的文档

用另一个字符替换某个字符

将某些csv列的值替换为另一个中的值

我需要修改此MERGE语句,以便根据另一个表中某个字段的值进行大量更新吗?

如果另一个为空,则SQL使用某个字段

表的每一行将一个字段值替换为另一个字段值

Django入门。如何更新所有对象并将某个字段设置为另一个字段的函数的值?

每次出现的情况下,将OCaml列表中的某个值替换为另一个值

计算在MongoDB中另一个字段上分组的文档中某个字段中的字符串实例数吗?

如何将一个字符串中的某个单词替换为另一个单词,以及如何在原子正则表达式中排除某些特定类型的单词

从一个表进行计数的最快方法是在另一个表中存在某个字段?

根据条件,将数据框的某些值替换为另一个数据框中的值

将空/空字段转换为另一个字段的值

将字典的值列表替换为另一个字典中的对应键值映射

Mongo DB 4.2:将数组项目的字段替换为匹配文档的另一个字段的值

在方法中将一个字段替换为另一个

如果PHP具有另一个数组中的某个字符串,则它获取数组值

将SQL表ID转换为PHP中的另一个字段

如何使用jQuery在div中查找某个字符串,然后将特定样式应用于另一个div(如果存在)?

将String中的值替换为另一个中的匹配值

从另一个文件中的文件开始的GREP行,直到出现某个字符

SQL查询将行中的NULL值替换为另一个值

您能否确保只有一个与另一个对象相关的对象具有某个字段集?

如何根据替换字符将一个字符串的值替换为另一个字符串?

使用 PHP MySql 将数据库表字段值中的一个特殊字符替换为另一个

如何始终将某个路径参数替换为node.js中的另一个值?