python - Pandas 命名聚合语法抛出错误 TypeError: int() argument must be a string, a bytes-like object or a number, not '_NoValueType'
问题描述
我有一个熊猫数据框如下
aa = pd.DataFrame({
'x': range(0, 5),
'g1': [1,1,2,2,1]})
当我使用未命名的聚合时,我得到了预期的结果
xx = aa.groupby('g1').agg({'x' : 'sum'}).reset_index()
但是当我将语法更改为命名聚合时
xx = aa.groupby('g1').agg(xsum=('x', 'sum')).reset_index()
我收到以下错误消息
TypeError:int() 参数必须是字符串、类似字节的对象或数字,而不是“_NoValueType”
不知道我哪里错了。。
解决方案
您的错误位于其他地方,您的代码中没有转换为 int 。
正如预期的那样,提供的代码片段可以正常工作:
import pandas as pd
aa = pd.DataFrame({'x': range(0, 5),
'g1': [1,1,2,2,1]})
aa.groupby('g1').agg(xsum=('x', 'sum')).reset_index()
输出:
g1 xsum
0 1 5
1 2 5
推荐阅读
- java - firebase 中的数据更改发生在第二次单击按钮时,第一次单击什么也不做
- node.js - mongo $pull 不删除字符串
- java - 数组在显示结果时是否跳过空位置?
- random - 分层随机抽样 Excel
- c++ - BFS(广度优先搜索)邻接矩阵 C++
- reactjs - React 单元测试传单
- botframework - 将 qnamaker 与 V3 MS bot 一起使用的最佳方式
- php - Html:linkroute 和 Laravel 中编辑功能的简单链接之间的区别
- html - bootstrap 4中的全宽div
- java - 访问其他活动的全局变量不起作用