[py]pandas数据统计学习
pandas.core.base.DataError: No numeric types to aggregate错误规避
我没有去解决这个问题, 而用填充0规避了这个问题
统计 聚合
d = [
{'cur': 1, 'next': 2, 'avgtime': None, 'callcount': None},
{'cur': 2, 'next': 3, 'avgtime': None, 'callcount': None},
{'cur': 2, 'next': 4, 'avgtime': None, 'callcount': None},
{'cur': 1, 'next': 2, 'avgtime': None, 'callcount': None},
{'cur': 2, 'next': 3, 'avgtime': None, 'callcount': None},
{'cur': 2, 'next': 4, 'avgtime': None, 'callcount': None},
{'cur': None, 'next': 4, 'avgtime': None, 'callcount': None},
]
df = pd.DataFrame(d, dtype='int')
df.groupby(["cur", "next"], as_index=False).mean()
重要总结:
1. None为NaN
2. count会统计空字符串, 但是cont不统计NaN. sum不统计NaN, 否则就会像sql里select(1+NULL)结果是NULL
3. 分组key为None时,记录不显示
计算mean()时DataError: No numeric types to aggregate


agg函数
使用这种聚合会卡到这个bug
pandas.core.base.DataError: No numeric types to aggregate错误规避
import pandas as pd
d = [
{'cur': 1, 'next': 2, 'avgtime': None, 'callcount': None},
{'cur': 2, 'next': 3, 'avgtime': None, 'callcount': None},
{'cur': 2, 'next': 4, 'avgtime': None, 'callcount': None},
{'cur': 1, 'next': 2, 'avgtime': None, 'callcount': None},
{'cur': 2, 'next': 3, 'avgtime': None, 'callcount': None},
{'cur': 2, 'next': 4, 'avgtime': None, 'callcount': None},
{'cur': None, 'next': 4, 'avgtime': None, 'callcount': None},
]
df = pd.DataFrame(d, dtype='int')
g = df.groupby(["cur", "next"], as_index=False)
res = g.agg(
{
'avgtime': 'sum',
'callcount': 'mean',
}
)
复杂的分组: cur分别与p1 p2 p3分组
import numpy as np
import pandas as pd
d = [
{
'cur': 1,
'p1_next': 1,
'p1_avgtime': 10,
'p1_callaccount': 10,
'p2_next': 2,
'p2_avgtime': None,
'p2_callaccount': 10,
'p3_next': 3,
'p3_avgtime': 10,
'p3_callaccount': None,
}
]
df = pd.DataFrame(d, dtype='int')
df.groupby(["cur", "p2_next"], as_index=False).sum().to_dict(orient='records')

[py]pandas数据统计学习的更多相关文章
- 转载,Pandas 数据统计用法
pandas模块为我们提供了非常多的描述性统计分析的指标函数,如总和.均值.最小值.最大值等,我们来具体看看这些函数: 1.随机生成三组数据import numpy as npimport panda ...
- pandas数据统计
1 count() 非空观测数量 2 sum() 所有值之和 3 mean() 所有值的平均值 4 median() 所有值的中位数 5 mode() 值的模值 6 std() 值的标准偏差 7 mi ...
- (数据科学学习手札69)详解pandas中的map、apply、applymap、groupby、agg
*从本篇开始所有文章的数据和代码都已上传至我的github仓库:https://github.com/CNFeffery/DataScienceStudyNotes 一.简介 pandas提供了很多方 ...
- pandas数据框,统计某列或者某行数据元素的个数
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/sinat_38893241/articl ...
- (数据科学学习手札72)用pdpipe搭建pandas数据分析流水线
1 简介 在数据分析任务中,从原始数据读入,到最后分析结果出炉,中间绝大部分时间都是在对数据进行一步又一步的加工规整,以流水线(pipeline)的方式完成此过程更有利于梳理分析脉络,也更有利于查错改 ...
- 大数据学习day34---spark14------1 redis的事务(pipeline)测试 ,2. 利用redis的pipeline实现数据统计的exactlyonce ,3 SparkStreaming中数据写入Hbase实现ExactlyOnce, 4.Spark StandAlone的执行模式,5 spark on yarn
1 redis的事务(pipeline)测试 Redis本身对数据进行操作,单条命令是原子性的,但事务不保证原子性,且没有回滚.事务中任何命令执行失败,其余的命令仍会被执行,将Redis的多个操作放到 ...
- 大数据学习day33----spark13-----1.两种方式管理偏移量并将偏移量写入redis 2. MySQL事务的测试 3.利用MySQL事务实现数据统计的ExactlyOnce(sql语句中出现相同key时如何进行累加(此处时出现相同的单词))4 将数据写入kafka
1.两种方式管理偏移量并将偏移量写入redis (1)第一种:rdd的形式 一般是使用这种直连的方式,但其缺点是没法调用一些更加高级的api,如窗口操作.如果想更加精确的控制偏移量,就使用这种方式 代 ...
- [译]针对科学数据处理的统计学习教程(scikit-learn教程2)
翻译:Tacey Wong 统计学习: 随着科学实验数据的迅速增长,机器学习成了一种越来越重要的技术.问题从构建一个预测函数将不同的观察数据联系起来,到将观测数据分类,或者从未标记数据中学习到一些结构 ...
- scikit-learning教程(二)统计学习科学数据处理的教程
统计学习:scikit学习中的设置和估计对象 数据集 Scikit学习处理来自以2D数组表示的一个或多个数据集的学习信息.它们可以被理解为多维观察的列表.我们说这些阵列的第一个轴是样本轴,而第二个轴是 ...
随机推荐
- Python3 元组(tuple)
一.定义:不可变序列的数据元素集合,元组的元素是不可以修改的 元组使用小括号,例如:tuple = (1,) 注意:即使元组里面只有一个元素,该元素后面也要加 ",":在函数传递参 ...
- python全栈开发day103-python垃圾回收机制、mro和c3算法解析、跨域jsonp\CORS、Content-Type组件
Python垃圾回收 -- 引用计数 -- Python为每个对象维护一个引用计数 -- 当引用计数为0的 代表这个对象为垃圾 -- 标记清除 -- 解决孤立的循环引用 -- 标记根节点和可达对象 - ...
- 关于input的检验问题
写了很多小应用 但是 对于input有很多 相同的需求 在这里做一个总结 将用的多的校验方法 封装为方法 使用 1.只能输入正整数的校验 输入的时候同时校验 将字符类型的全部替换为空 <inpu ...
- 《XXX重大技术需求征集系统》的可用性和可修改性战术分析
在网站的界面完整有效的呈现在最终用户面前前,其中经历的每一环节出现问题都会导致网站页面不可访问.原因如,如DNS被劫持.网站交换机失效,硬盘损坏,网卡松掉,机房停电等都可能导致网站不可用(网站故障)情 ...
- sort it 树状数组+逆序对
sum[i]是1-i所有1的和,而i-sum[a[i]]就是在a[i]后面的数,即在i之前出现,却比他大的数.1是加在a[i]上,即i实际应该放的位置.而c[i]是为sum做准备的 #include& ...
- 还不知道spring的RestTemplate的妙用吗
为什么要使用RestTemplate? 随着微服务的广泛使用,在实际的开发中,客户端代码中调用RESTful接口也越来越常见.在系统的遗留代码中,你可能会看见有一些代码是使用HttpURLConnec ...
- PHP var_dump()函数输出不完整,有省略号?解决办法
xdebug.var_display_max_children=10240xdebug.var_display_max_data=10240xdebug.var_display_max_depth=1 ...
- [Caffe]Win10+VS2015+CUDA8.0+cudnn5.1环境配置
百度:win10 caffe vs2015 编译caffe.sln工程参见->这里 caffe训练参见->这里 参见->这里 Windows+VS2013爆详细Caffe编译安装教程
- Hadoop双namenode配置搭建(HA)
配置双namenode的目的就是为了防错,防止一个namenode挂掉数据丢失,具体原理本文不详细讲解,这里只说明具体的安装过程. Hadoop HA的搭建是基于Zookeeper的,关于Zookee ...
- window 日志清楚
@echo offset srcDir="D:\ApplicationLogs"set daysAgo=15forfiles /p %srcDir% /s /m *.* /d -% ...