KNIME + Python = 数据分析+报表全流程
一,Python 数据分析环境
数据分析领域有很多可选方案,例如SPSS傻瓜式分析工具,SAS专业性商业分析工具,R和python这类需要代码编程类的工具。个人选择是python这类,包括pandas,numpy,matplotlib,sklearn,keras。基于jupyter或者zeppelin作为编程界面,可以用python开发出比较清爽的数据分析报告。
总体来说,jupyter notebook编写的分析结果基本上可以满足要求,但是也有些弊端,例如无法做很好的presentation,虽然可以通过convert slides得到比较好的presentation胶片,但是无法展现直观的数据流和数据分析流程。
理想的数据分析应该包括:清晰的数据流和数据分析流程;直观的数据分析结果报告。
经过对多种开源方案的比较,我选择使用knime+python的方案,可以有以下的优点:
① 利用python和相关数据分析库的能力,对数据建模、分析、可视化,这块基于Anaconda;
② 利用knime的可视化数据流和report design能力,对数据ETL、建模、分析、报告。
二,knime + python
1. anaconda建立数据分析环境
一般需要使用到的库包括:pandas,seanborn,numpy,scipy,statsmodel,matplotlib,keras,TensorFlow。
2. knime建立可视化数据流/report环境
KNIME的发展始于2004年1月,由康斯坦茨大学的软件工程师团队作为专有产品。由Michael Berthold领导的原始开发团队来自硅谷的一家公司,为制药行业提供软件。最初的目标是创建一个模块化,高度可扩展和开放的数据处理平台,从而轻松集成不同的数据加载,处理,转换,分析和可视化探索模块,而不必关注任何特定的应用领域。该平台旨在成为一个协作和研究平台,也应作为各种其他数据分析项目的集成平台。
Knime IDE基于eclipse开发,插件的安装和eclipse一样。我们需要结合knime和python做数据分析,需要安装以下插件:
① KNIME Python Integration,安装后可以使用‘Python Script’和‘Python View’ node
② KNIME Report Designer
3. knime 中“Python Script” node
Python Script node可以处理前一个节点数据,数据名称是input_table,类型是pandas.DataFrame。DataFrame的操作api就是pandans的api。数据处理完后将结果输出,输出的数据是output_table.
举个例子,选择一个PythonScript node之后,右击选择Configure...,进入python代码输入框。
import pandas as pd
df = input_tabledf = df[df['gender'] == 'M']output_table = df
4. knime中“Python View” node
Python View节点对输入数据做可视化,输出图片,输入数据通用是input_table,可视化可以使用任意的python库,首选当然是Matplotlib。输出的图片需要赋值给变量output_image。举个例子:
import matplotlib.pyplot as plt
from io import BytesIOdf = input_table
df['score'].plot()# output the image
buffer = BytesIO()
plt.saveFig(buffer, format='svg')
output_image = buffer.getvalue()
5. knime中“Image to Report” node
Python View节点输出的图片可以作为report的元素,借助“Image to Report”节点可以将图片输出,注意需要重新设置图片大小,默认100x100尺寸太小。
6. knime中report模块
report模块基于birt,开发界面和BIRT一样。优点是这里能够将knime数据流中的Report节点数据/图片自动引入到report中的“Data set view”。在设计report的时候可以引入图片或者表格数据。
三,数据分析流程
四,BIRT报表
KNIME + Python = 数据分析+报表全流程相关推荐
- python数据分析的主要流程-KNIME + Python = 数据分析+报表全流程
Python 数据分析环境 数据分析领域有很多可选方案,例如SPSS傻瓜式分析工具,SAS专业性商业分析工具,R和python这类需要代码编程类的工具.个人选择是python这类,包括pandas,n ...
- python 网络爬虫全流程教学,从入门到实战(requests+bs4+存储文件)
python 网络爬虫全流程教学,从入门到实战(requests+bs4+存储文件) requests是一个Python第三方库,用于向URL地址发起请求 bs4 全名 BeautifulSoup4, ...
- python数据分析的主要流程-Python数据分析全流程实操指南
内容全面:借助5大Python工具库,实现数据分析从获取到建模全流程覆盖: 贴合实际:不空讲Python语法,清晰简明地介绍如何用Python来处理.分析数据: 热点案例:覆盖6大热点应用领域,可直接 ...
- python数据分析的主要流程-python 数据分析概述
一.数据分析概念: 广义的数据分析包括狭义数据分析和数据挖掘. ①狭义的数据分析是指根据分析目的,采用对比分析.分组分析.交叉分析和回归分析等分析方法,对收集的数据进行处理与分析,提取有价值的信息,发 ...
- python数据分析的主要流程-python数据挖掘的基本流程有哪些?
使用python对数据进行处理时,数据挖掘是极为重要的方式和阶段,目的是搜集大量数据,并从中通过算法搜索出隐藏在数据中的那些隐含的.先前未知的,并有具有潜在使用价值的信息.那么python数据挖掘的具 ...
- python数据分析的主要流程-用Python语言做数据分析基本思路和流程
当下用PYTHON做数据分析实在是太火了!大多数招聘信息里都要求应聘者会使用PYTHON做数据分析.PYTHON语言功能确实很强大,俗称"胶水语言".那么我们大多数职场人士真的有机 ...
- python数据分析的主要流程-将Python和R整合进一个数据分析流程
编译:丁一 黄念 丁雪 校对:席雄芬 姚佳灵 程序验证:郭姝妤 序言 在Python中调用R或在R中调用Python,为什么是"和"而不是"或"? 在互联网中, ...
- 【数据分析】Python数据分析指南(全)
前言 数据分析是通过明确分析目的,梳理并确定分析逻辑,针对性的收集.整理数据,并采用统计.挖掘技术分析,提取有用信息和展示结论的过程,是数据科学领域的核心技能. 本文从数据分析常用逻辑框架及技术方法出 ...
- Python数据分析(全) #超长预警 #思维导图 #matplotlib #numpy #pandas
数据分析 一.基础概念及环境 1. 数据分析概念 2. anaconda 2.3 安装 2.2 基本操作 二.matplotlib 1. 简介 2. 基本要点 3. 使用方法 3.1 最简单形式 3. ...
最新文章
- 01 http协议概念及工作流程
- iphone11计算机出现问题,苹果11出现死机现象
- 数据中心液体冷却技术的“机架经济学”
- 频率概率与贝叶斯概率
- WCF学习笔记之序列化
- android 同根动画_android 动画系列 (1) - tween 动画(view动画)
- 基于JavaSwing+Mysql点餐系统设计和实现
- 手把手教你写竞品分析
- 【C#】读取Excel中嵌套的Json对象,Json带斜杠的问题(其三)
- openai-gpt_OpenAI的GPT-3:货物崇拜编程人员的终结
- C#读写ISO15693协议ICODE2标签源码
- 有趣、有效果,掌门优课双师互动直播课获用户肯定
- js原型继承的几种方式
- python摄氏度转华氏度_如何用 python编写华氏摄氏度的相互转换?
- 百度经纬度与高德经纬度互转
- 单端测序与双末端测序问题
- 如何阅读一本书?阅读的高效方法
- 深入理解Flash Player的安全域(Security Domains)
- DNS资源纪录(Resource Record)介绍
- vue3.0 使用vue脚手架生成vue项目 运行mapbox 3D地图例子
热门文章
- centos cpu排查_Linux/CENTOS 系统 CPU 占用率较高负载较高问题排查思路 - 沃森博客...
- 天龙八部新目标服务器未响应,新天龙八部怀旧服有多火?4个月后开新服,玩家排队5小时没进去...
- LSDyna在土木工程静力问题中的应用
- 图像之超简单方式实现微信头像功能
- Restormer: Efficient Transformer for High-Resolution Image Restoration
- 计算机模拟在数学实验报告,MATLAB实验-8计算机模拟.doc
- Polhemus PATRIOT 电磁位置跟踪系统
- 2019劳动节出游数据_这个劳动节周末要流什么
- 如何设置海思开发板的静态IP
- Android手势识别——上下左右滑动、屏幕上下左右中区域处理