gpt4 book ai didi

python - 使用 .loc 在 DataFrame 中设置值

转载 作者:太空宇宙 更新时间:2023-11-04 01:56:14 24 4
gpt4 key购买 nike

我有一个配置,其中使用 loc 和 iloc 的组合修改数据框的值非常有用。

df = pd.DataFrame([[1,2],[1,3],[1,4],[2,6],[2,5],[2,7]],columns=['A','B'])

基本上在上面的数据框中,我想只取等于某物的列(即 A = 2)。这会给:

   A  B
3 2 6
4 2 5
5 2 7

然后修改第二个索引的B的值(本例中实际上是索引4)我可以使用此命令访问我想要的值:

df.loc[df['A'] == 2,'B'].iat[1]

(或 .iloc 而不是 .iat,但我听说对于更改很多单行,iat 更快)

它产生了我:5

但是我似乎无法使用相同的命令修改它:

df.loc[df['A'] == 2,'B'].iat[1] = 0 

它给了我:

   A  B
0 1 2
1 1 3
2 1 4
3 2 6
4 2 5
5 2 7

我想得到这个:

   A  B
0 1 2
1 1 3
2 1 4
3 2 6
4 2 0
5 2 7

谢谢!

最佳答案

我们不应该链接 .loc.iloc (iat,at)

df.loc[df.index[df.A==2][1],'B']=0
df
A B
0 1 2
1 1 3
2 1 4
3 2 6
4 2 0
5 2 7

关于python - 使用 .loc 在 DataFrame 中设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56764676/

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