我有一个数据框:
| 姓名 | 年龄 | |
|---|---|---|
| 0 | 保罗 | 25 |
| 1 | 约翰 | 27 |
| 2 | 账单 | 23 |
我知道如果我输入:
Run Code Online (Sandbox Code Playgroud)df[['name']] = df[['age']]
我会得到以下信息:
| 姓名 | 年龄 | |
|---|---|---|
| 0 | 25 | 25 |
| 1 | 27 | 27 |
| 2 | 23 | 23 |
但我期望该命令得到相同的结果:
Run Code Online (Sandbox Code Playgroud)df.loc[:, ['name']] = df.loc[:, ['age']]
但相反,我得到了这个:
| 姓名 | 年龄 | |
|---|---|---|
| 0 | 南 | 25 |
| 1 | 南 | 27 |
| 2 | 南 | 23 |
[]由于某种原因,如果我省略列名称周围的方括号,我将得到我所期望的结果。那是命令:
Run Code Online (Sandbox Code Playgroud)df.loc[:, 'name'] = df.loc[:, 'age']
给出正确的结果:
| 姓名 | 年龄 | |
|---|---|---|
| 0 | 25 | 25 |
| 1 | 27 | 27 |
| 2 | 23 | 23 |
为什么两对括号.loc结果是NaN?这是某种错误还是有意的行为?我无法弄清楚这种行为的原因。