【发布时间】:2021-06-15 22:57:46
【问题描述】:
我有一个人的数据框,而不是在 excel 中编辑它,我希望能够直接在 pandas 中输入数据。
在下面的示例表中,John 在df['Group'] 中没有任何内容
DF
| Name | ID | Grade | Group | |
|---|---|---|---|---|
| 0 | John | 001 | 89 | Nan |
| 1 | Jane | 002 | 56 | Group 1 |
| 2 | Joan | 003 | 91 | Group 2 |
| 3 | David | 004 | 45 | Group 1 |
我希望能够将其更改为“第 4 组”,最好不使用 iloc(这是一个很大的 df)。
| Name | ID | Grade | Group | |
|---|---|---|---|---|
| 0 | John | 001 | 89 | Group 4 |
| 1 | Jane | 002 | 56 | Group 1 |
| 2 | Joan | 003 | 91 | Group 2 |
| 3 | David | 004 | 45 | Group 1 |
我试过了
df.loc[df['Name'] == 'John']['Group'] = 'Group 4'
df2.loc[0,'Group'] = 'Group 4'
这些不起作用(对你来说可能很明显)。
有没有办法做到这一点?
【问题讨论】:
-
df.loc[df['Name'] == 'John','Group'] = 'Group 4'. -
df.loc[df['Name'] == 'John','Group'] = 'Group 4'if you want to do it by Name ofdf.Group.fillna('Group 4',inplace=True)if you want to fill all 'NaN's (确保它是 NaN) 在 Group 列中是 'Group4'