gpt4 book ai didi

Pandas 根据具有不同列标题的另一个数据框将多个列和行值设置为 nan

转载 作者:行者123 更新时间:2023-12-04 09:43:23 26 4
gpt4 key购买 nike

我有两个大数据框,df1 :

Col1    Col2    Val1    Val2    Val3
asd ASYL 4.2 4.2
ppq CONE 35 35
DA HU 100 100

df2
Col1    Col2    PR1     PR2   PR3
asd ASYL 7 12 17
ppq CONE 17 19 19
DA HU 5 14 13

两个数据框具有相同的索引列 Col1Col2和但不同的列 Val1, Val2, Val3df1PR1, PR2, PR3df2 .
df2 中列的相关性顺序然而,我的目的是一样的。

我想在 df2 中设置值至 nan它在哪里 Nulldf1得到以下内容:
Col1    Col2    PR1     PR2   PR3
asd ASYL 7 17
ppq CONE 19 19
DA HU 5 14

我尝试了以下方法:
df2.where(df1.notna())

但它不起作用。

最佳答案

如果 df1 中列的相关性顺序和 df2相同,使用, df.mask 连同 df.set_axis df.isna :

df2 = df2.mask(df1.set_axis(df2.columns, 1).isna())
# print(df2)

PR1 PR2 PR3
Col1 Col2
asd ASYL 7.0 NaN 17.0
ppq CONE NaN 19.0 19.0
DA HU 5.0 14.0 NaN

关于Pandas 根据具有不同列标题的另一个数据框将多个列和行值设置为 nan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62231065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com