FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction. result2 = student.groupby('年级').idxmax()
时间: 2024-03-05 19:54:52 浏览: 124
Mastering_Dojo3.pdf
这个警告是因为在使用 `DataFrame.groupby()` 和 `idxmax()` 函数时,`idxmax()` 函数返回的是每个分组中最大值所在行的索引,包括了所有列的索引,但是在结果中并不需要所有的列,因此在未来的版本中,Pandas 将会禁止对无用列进行操作,也就是这里的 `numeric_only=None` 会被弃用。
解决这个警告的方法是,在调用 `idxmax()` 函数之前,先从 `DataFrame` 中选取需要的列。例如,如果只需要对 `score` 列进行操作,那么可以这样写:
```python
result = student[['年级', '姓名', 'score']].groupby('年级').max()
result2 = student[['年级', '姓名', 'score']].groupby('年级').idxmax()
```
这样就只会对 `score` 列进行操作,避免了对无用列的操作,也就不会出现上述的警告。
阅读全文