gpt4 book ai didi

python - 根据某些条件分配 pandas DataFrame 单元格的内容而不使用循环

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:02 25 4
gpt4 key购买 nike

我有一个包含以下内容的 pandas DataFrame df:

Serial N       voltage       current
B 10 nan
B 10 nan
C 12 nan
D 40 nan
. . .
AB 12 nan

我还有以下字典,其中包含以下当前值(我的 key 是序列号):

my_dict={A:0.6,B:0.2, ...,AB:0.2}

我想根据字典将字典的内容存储到数据帧“当前”列中。我可以在 dataFrame df 中有多个具有相同值的序列号。如果可能的话,我想在不使用循环的情况下这样做。我试过这个:

for k,v in my_dict.items():
if df["Serial N"]==k:
df["current"]=v

但它不起作用,因为我没有满足条件的行的位置(我可以有多个具有相同值的序列号;例如:序列号 N 列中的 B)。我怎样才能在没有循环的情况下做到这一点?

最佳答案

您可以使用map :

print df
Serial N voltage current
0 B 10 NaN
1 B 10 NaN
2 C 12 NaN
3 D 40 NaN
4 AB 12 NaN

my_dict={"A":0.6,"B":0.2,"AB":0.2}
print my_dict
{'A': 0.6, 'B': 0.2, 'AB': 0.2}

df['current'] = df['Serial N'].map(my_dict)
print df
Serial N voltage current
0 B 10 0.2
1 B 10 0.2
2 C 12 NaN
3 D 40 NaN
4 AB 12 0.2

关于python - 根据某些条件分配 pandas DataFrame 单元格的内容而不使用循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35256041/

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