我有1000多行62列的df1。为简单起见,它看起来与此类似
SID Run ID TRE ID Col1 Col2 Col3 Code_Col1 Code_Col2 Code_Col3
001S 0919A TRE001 1 2 3 0 0 0
002S 0919A TRE002 4 5 6 0 0 0
001S 0919A TRE001R 1 3 2 0 0 0
003S 1010A TRE003 7 8 9 0 0 0
df2包含我需要在df1中替换的值
SID Run ID TRE ID Col1 Col2 Col3
002S 0919A TRE002 400 nan 600
003S 1010A TRE003 nan nan 900
如果值被替换,我需要将该列的代码更改为33。所以,我的最终df1应该是这样的
SID Run ID TRE ID Col1 Col2 Col3 Code_Col1 Code_Col2 Code_Col3
001S 0919A TRE001 1 2 3 0 0 0
002S 0919A TRE002 400 5 600 33 0 33
001S 0919A TRE001R 1 3 2 0 0 0
003S 1010A TRE003 7 8 900 0 0 33
我不知道该怎么做。如果我使用测向更新那我就不知道该把cols的代码改成什么行或列了
我无法按df1[“SID”]==df2[“SID”]等进行筛选,因为我将得到错误“只能比较相同标记的系列对象”。你知道吗
IIUC,你想根据三个ID列进行更新。这可以通过
merge
和groupby
实现:输出:
您可以首先将COL代码添加到df2数据帧,然后进行更新。你知道吗
提供:
从
df2
和concat
和update
的ColX
构造Code_ColX
(注:X
为数字)相关问题 更多 >
编程相关推荐