gpt4 book ai didi

python - 如何用条件逐行替换

转载 作者:行者123 更新时间:2023-12-01 23:47:00 24 4
gpt4 key购买 nike

我想替换所有名称列中有“A”的行来自另一个 df 的单行

我明白了

data={"col1":[2,3,4,5,7],
"col2":[4,2,4,6,4],
"col3":[7,6,9,11,2],
"col4":[14,11,22,8,5],
"name":["A","A","V","A","B"],
"n_roll":[8,2,1,3,9]}
df=pd.DataFrame.from_dict(data)
df

那是我的单行(另一个df)

data2={"col1":[0]
,"col2":[1]
,"col3":[5]
,"col4":[6]
}
df2=pd.DataFrame.from_dict(data2)
df2

我想要的样子

data={"col1":[0,0,4,0,7],
"col2":[1,1,4,1,4],
"col3":[5,5,9,5,2],
"col4":[6,6,22,6,5],
"name":["A","A","V","A","B"],
"n_roll":[8,2,1,3,9]}
df=pd.DataFrame.from_dict(data)
df

我尝试这样做 df.loc[df["name"]=="A"][df2.columns]=df2但是没有用

最佳答案

我们可以试试mask + combine_first

df = df.mask(df['name'].eq('A'), df2.loc[0], axis=1).combine_first(df)
df
col1 col2 col3 col4 name n_roll
0 0 1 5 6 A 8.0
1 0 1 5 6 A 2.0
2 4 4 9 22 V 1.0
3 0 1 5 6 A 3.0
4 7 4 2 5 B 9.0

关于python - 如何用条件逐行替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64029078/

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