gpt4 book ai didi

python - 如何更新具有多个条件的列,从另一列 Python Pandas 中获取相应的值

转载 作者:行者123 更新时间:2023-11-28 21:39:27 26 4
gpt4 key购买 nike

输出更像是下面的 SQL 语句。

   UPDATE table_A SET final=(cs+fhfa+sz)/3 WHERE cs IS NOT NULL AND fhfa IS NOT NULL AND sz IS NOT NULL;

这里cs+fhfa+sz都是sql表(和dataframe)中的各个列

如果我想把这个 SQL 语句转换为 python 中的 pandas 操作,这将更像是:

   df['div_3'] = (df.cs+df.fhfa+df.sz) /3
df['final'] = df.loc[(df['cs'] != None) & (df['fhfa'] != None) & (df['sz'] != None) ] = df['div_3']

但这并不能保证“相应的值”最终被放入。如何实现??

我真的需要用 3 列的总和创建另一列 div_3 吗?这可以在不创建另一个列的情况下完成吗?

最佳答案

过滤 pd.Series.notnull 并调用 mean

c = ['cs', 'fhfa', 'sz']
df['final'] = df[df[c].notnull().all(1)][c].mean(1)

关于python - 如何更新具有多个条件的列,从另一列 Python Pandas 中获取相应的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46807834/

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