gpt4 book ai didi

python - 当满足其余行中的条件时更新 Pandas Dataframe 行中的列(在 SQL UPDATE 中)

转载 作者:行者123 更新时间:2023-12-01 05:00:04 28 4
gpt4 key购买 nike

我找到的最接近答案是:Update a dataframe in pandas while iterating row by row

但是,它并没有回答我的问题。这就是我想做的:

#for each dataframe row
# if it matches criteria a, b, and c
# update two column d and e with new values

这是一个名为 df 的人为数据框示例:

    first_name  last_name  city  state  number_of_cousins  number_of_siblings
0 Margaret Smith C C 0 0
1 April Smith C D 0 0
2 June Smith C C 0 0
3 David Smith A D 0 0

我需要获取第 0 行和第 2 行以拥有 2 个表 sibling 和 3 个 sibling 。

cousins_and_siblings = [2,3]

我知道我需要使用 .iterrows() 但除此之外我还没有找到示例。

最佳答案

您不需要迭代行。这可以使用矢量化方法来完成。根据您的选择标准创建 bool 掩码。

city_state_mask = (df.city == 'C') & (df.state == 'C')

使用它来选择行,然后进行分配。您需要先选择值,然后传递掩码。 df["Col"][mask] = 'value' 更新原始数据帧。 df[mask]["Col"] = 'value' 将分配给一个不是您想要的副本。

df['number_of_siblings'][city_state_mask] = 2
df['number_of_cousins'][city_state_mask] = 3

关于python - 当满足其余行中的条件时更新 Pandas Dataframe 行中的列(在 SQL UPDATE 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26456532/

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