使用Pandas的.at函数修改多行

2024-04-19 23:03:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我对at的用法有点困惑。从网站:

Access a single value for a row/column label pair.

尽管如此,我仍然可以使用它来更改多行中的值。例如:

df = pd.DataFrame([[0, 2, 3], [0, 2, 1], [10, 20, 30]], index=[0, 1, 2], columns=['A', 'B', 'C'])

    A   B   C
0   0   2   3
1   0   2   1
2  10  20  30

idxs = df[df.B==2].index.values
df.at[idxs, 'A'] = -33

    A   B   C
0 -33   2   3
1 -33   2   1
2  10  20  30

这实际上会更改前两行(列A)中的值。 我做错什么了吗?使用at这样更改多行安全吗?你知道吗


Tags: 用法dfforindexaccessvalue网站column
1条回答
网友
1楼 · 发布于 2024-04-19 23:03:43

从技术上讲,.at是访问行/列标签对的单个值,并一次更改一个值。但是变量idxs是一个列表,所以它对列表中的每个索引都执行。 所以你的问题的答案是否定的,你没有做错什么,是的,使用它是完全安全的。你知道吗

相关问题 更多 >