wro*_*ath 5 python dataframe pandas
我对的用法有些困惑at。从网站:
访问行/列标签对的单个值。
尽管如此,我仍然可以使用它来更改多行中的值。例如:
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
Run Code Online (Sandbox Code Playgroud)
实际上,这将更改前两行(第列A)中的值。难道我做错了什么?使用at这种方式更改多行是否安全?
从技术上讲,.at 正在访问行/列标签对的单个值并一次更改一个值。但是您的变量 idxs 是一个列表,因此它会针对列表中的每个索引执行。所以你的问题的答案是否定的,你没有做错任何事,是的,使用 .at 以这种方式更改多行是非常安全的。
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |