gpt4 book ai didi

python - 如何在 python 中向数据框添加新列并在其中为 d/f 行插入 d/f 值?

转载 作者:行者123 更新时间:2023-11-28 18:29:15 25 4
gpt4 key购买 nike

我在 python 中有以下数据框(df1):

          ID       Date      Time     XYZ
0 GP3 2016-01-08 16:00:00 64
1 GP2 2016-01-08 16:00:00 557
2 GP4 2016-01-08 16:00:00 747
3 GP1 2016-01-08 16:00:00 406
4 EP3 2016-01-08 16:00:00 64

我想在其中添加另一列“ABC”,具有 d/f 值(根据数据框中的“ID”从另一个字典(dict1)中提取)

          ID       Date      Time      XYZ     ABC
0 GP3 2016-01-08 16:00:00 64 23
1 GP2 2016-01-08 16:00:00 557 45
2 GP4 2016-01-08 16:00:00 747 56
3 GP1 2016-01-08 16:00:00 406 89
4 EP3 2016-01-08 16:00:00 64 14

我试过以下:

df1["ABC"]=[0]*df1.shape[0]
for i in df1.iterrows():
i[1][4] = dict1[i[1][0]] # dict1[i[1][0]] gives the desired int values

但是,我无法更新数据框中“ABC”的值。它们都为 0。如何更新所有值?字典 1:

dict1={'GP1':89,'GP2':45,'GP3':23,'GP4':56,'EP3':14}

最佳答案

使用 .map方法:

df1['ABC'] = df1['ID'].map(dict1)

df1
Out[7]:
ID Date Time XYZ ABC
0 GP3 2016-01-08 16:00:00 64 23
1 GP2 2016-01-08 16:00:00 557 45
2 GP4 2016-01-08 16:00:00 747 56
3 GP1 2016-01-08 16:00:00 406 89
4 EP3 2016-01-08 16:00:00 64 14

如果ID系列中有多余的元素,则返回NaN。如果您想使用默认值更改它们,您可以在末尾使用例如 .fillna(0)。如果您想要 ID 系列的原始值,请改用 .fillna(df1['ID'])

关于python - 如何在 python 中向数据框添加新列并在其中为 d/f 行插入 d/f 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38783110/

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