如何在Pandas中修改列值,将列值更新为原数值的两倍?
在Pandas中将DataFrame列值修改为原数值两倍的正确方法
你当前代码的问题在于使用employees.loc['salary']是尝试按行索引选取名为'salary'的行,但你的DataFrame里'salary'是列名而非行索引,因此这种写法无法正确修改整列的值。
以下是两种正确的实现方式:
方法1:直接通过列名赋值
employees['salary'] = employees['salary'] * 2
方法2:使用loc指定所有行与目标列
employees.loc[:, 'salary'] = employees['salary'] * 2
这里loc[:, 'salary']的语法表示选取所有行(:代表全部行)的'salary'列,确保整列的每个值都被更新为原数值的两倍。
输入示例DataFrame:
| name | salary |
|---|---|
| Jack | 19666 |
| Piper | 74754 |
| Mia | 62509 |
| Ulysses | 54866 |
修改后期望输出:
| name | salary |
|---|---|
| Jack | 39332 |
| Piper | 149508 |
| Mia | 125018 |
| Ulysses | 109732 |
内容的提问来源于stack exchange,提问作者Swapnil Kumar
相关产品推荐
相关产品推荐

