根据另一个df中的特定索引替换一个df中的值

我有一个如下数据框:

df1:
ix a  b   c  d  e 
s1 AA AG AG GG AA
s2 DI DD GG GG GG
S3 TT CC TC TT TC
S4 AA AA AA AA AA
S5 CC CC DD CC CC

和另一个像这样的数据框:

df2
ix col1 col2 
s1 2     A
s3 4     G
S4 7     A

我想将索引中的所有值替换为df1中的“ XX”,其中索引(s1,s4)在df2的col2中为“ A”。

所以最终的数据帧是这样的:

df1:
ix a  b   c  d  e 
s1 XX XX XX XX XX
s2 DI DD GG GG GG
S3 TT CC TC TT TC
S4 XX XX XX XX XX
S5 CC CC DD CC CC

任何建议表示赞赏。先感谢您。

df = pd.DataFrame({'ix': {0: 's1', 1: 's2', 2: 'S3', 3: 'S4', 4: 'S5'}, 
                   'a': {0: 'AA', 1: 'AG', 2: 'AG', 3: 'GG', 4: 'AA'}, 
                   'b': {0: 'DI', 1: 'DD', 2: 'GG', 3: 'GG', 4: 'GG'}, 
                   'c': {0: 'TT', 1: 'CC', 2: 'TC', 3: 'TT', 4: 'TC'}, 
                   'd': {0: 'AA', 1: 'AA', 2: 'AA', 3: 'AA', 4: 'AA'}, 
                   'e': {0: 'CC', 1: 'DD', 2: 'CC', 3: 'CC', 4: 'CC'}})
耶斯列尔

获取df2if col2is的索引值,A并设置与XXin匹配的行df1

df1.loc[df1.index.isin(df2.index[df2['col2'].eq('A')])] = 'XX'
print (df1)
     a   b   c   d   e
ix                    
s1  XX  XX  XX  XX  XX
s2  AG  DD  CC  AA  DD
S3  AG  GG  TC  AA  CC
S4  XX  XX  XX  XX  XX
S5  AA  GG  TC  AA  CC

设置

df1 = pd.DataFrame({'ix': {0: 's1', 1: 's2', 2: 'S3', 3: 'S4', 4: 'S5'}, 
                   'a': {0: 'AA', 1: 'AG', 2: 'AG', 3: 'GG', 4: 'AA'}, 
                   'b': {0: 'DI', 1: 'DD', 2: 'GG', 3: 'GG', 4: 'GG'}, 
                   'c': {0: 'TT', 1: 'CC', 2: 'TC', 3: 'TT', 4: 'TC'}, 
                   'd': {0: 'AA', 1: 'AA', 2: 'AA', 3: 'AA', 4: 'AA'}, 
                   'e': {0: 'CC', 1: 'DD', 2: 'CC', 3: 'CC', 4: 'CC'}}).set_index('ix')

print (df1)
     a   b   c   d   e
ix                    
s1  AA  DI  TT  AA  CC
s2  AG  DD  CC  AA  DD
S3  AG  GG  TC  AA  CC
S4  GG  GG  TT  AA  CC
S5  AA  GG  TC  AA  CC

print (df2)
    col1 col2
ix           
s1     2    A
s3     4    G
S4     7    A

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

用另一个 DF 中的值替换一个 DF 中的 NA

根据R中另一个向量的索引更改df列中的值

用另一个df中的值替换df中的值

根据另一个数组中的值替换一个数组中的值

根据熊猫中的特定条件,将df的列替换为另一个df的另一个列

用另一个数组的相同索引的值替换一个数组中的值?

根据另一个df中的列计算一个df中的行数

根据另一个df中的值填充新的df大熊猫

根据另一个 df 更改 df1 列中的值

根据条件将df中的列除以另一个df值

用文件中的另一个单词替换一个特定的单词

用另一个变量的值替换一个变量中的NA

如何从另一个df值中补充一个df

根据另一个因素替换一个特定因素

根据python中另一个df中的日期数据填写值

根据python中的索引用另一个列表的值替换列表中的值

根据另一列的值替换一个列中的值

使用另一个df替换列值

用另一个df的值替换na

用NA在另一个df中的相同位置替换值

如果索引值接近另一个df中的索引,是否可以从df中提取数据?

根据另一个中的值填充新的pandas df列

根据 dplyr 中的另一个 df 更新值

根据另一个更改 df 列中的某些值

将Pandas df中的行替换为另一个df中的行

使用JQ用同一词典中的另一个值替换一个值

如何在Scala中用另一个Seq中的值替换一个Seq中的值?

根据来自另一个 df 的值填写 1 df 中多列的 NA 值

根据另一个数据框替换一个数据框中的Value