- 博客(8)
- 收藏
- 关注
原创 plydata包 - Python中的dplyr Pipe(管道)数据处理方式
Hassan Kibirige开发的plydata包借鉴了R dplyr包的语法以及实现了管道函数%>%,并且与该作者另一个包plotnine(类ggplot2语法绘图工具包),本文在于对plydata包语法的入门以及与dplyr包的对比,让对R熟悉的同学(比如我)更好的在python进行数据处理工作。首先导入包以及数据集,数据集使用经典的nycflights13中的flights,这个数据集在python和R中均有包直接调用# in Rlibrary(dplyr)library(nycfli
2021-02-24 18:01:14 424
原创 Python数据分析[2] - Numpy包
ndarry: 多维度的向量Numpy为Numerical Python的缩写,是数据分析最重要的包之一,很多数据分析相关的包会依赖Numpy中的向量类型。向量类的数据配合向量化计算,会极大的加速计算的效率,这一点和R中的dply组函数有异曲同工之处。import numpy as np# 生成随机数data = np.random.randn(2, 3)dataOut[113]: array([[-0.8641422 , 0.99312833, -0.80589659],
2021-02-20 16:40:18 168
原创 Python数据分析[1] - python基础
Python基础数据类型tupletuple是一个固定长度,不可修改的对象tup = (1, 2, 3)tup(1, 2, 3)tuple可以tuple中的一个元素nested_tup = (4, 5, 6), (7, 8)nested_tup((4, 5, 6), (7, 8)) tuple可以将一个Sequence转换为tupletuple([4, 0, 2]) (4, 0, 2)tuple('string')('s', 't', 'r', 'i', 'n',
2021-02-20 14:27:02 155
原创 Learning Spark [4] - Spark SQL
Spark SQL为Spark提供了以下几个特性:提供高级结构框架的API(见Learning Spark [3])允许读取不同格式的数据(json, hive, tables, csv, parquet, avro,orc)允许使用BI工具(Power BI, Tableau)的JDBC/ODBC链接器查询数据,以及使用RDBMSs(MySQL, PostgreSQL)提供与储存在Spark Application的数据交互的语法接口提供一个交互式Shell去执行SQL查询支持HiveQL
2021-02-02 17:09:10 172
原创 Learning Spark [3] - Catalyst Optimizer
Catalyst Optimizers是Spark SQL的一个重要功能,他会将数据查询转换为执行计划。他分为四个步骤:分析逻辑优化物理规划生成代码例子:M&Ms例子两段不同语言代码的执行代码是相同的。所以无论是你使用了什么语言,你的查询和计算会经过相同处理。# In Python count_mnm_df = (mnm_df .select("State", "Color", "Count") .groupBy("State", "Color")
2021-02-02 17:08:11 119
原创 Learning Spark [2] - Spark API结构
RDDRDD是spark最基础的抽象类其拥有以下几个特点:Dependencies(依赖)Partitions(分区)Compute Function(计算函数):Partition => Iterator[T]Dependencies提供了RDD的结构性,例如需要重新输出结果,Spark就可以使用Denpendecies重新创建RDD,来复制一个运行。这个特性使得RDD更加灵活。Partitions是的Spark可以将一个任务拆分开,使用不同的Executors平行运行。另外有些时
2021-02-01 10:27:25 94
原创 Learning Spark [1] - Spark的基础概念
#术语:Application(应用程序):用户使用API所构建的Spark程序,包含了Driver(驱动)和Executor(执行单元)。SparkSession(Spark时域):一个提供了使用Spark程序入口的实例。Job(作业):由多个Task(进程)组成平行计算,会为Spark操作生成一个结果(e.g. save(), collect())。Stage(阶层):每个Job都会分割为小份Task的集合,即为Stages。Task(进程):会直接送到Spark Executor的一个单位
2021-01-29 11:24:54 214
原创 零和博弈 - 100个人各有100元每次随机给另一个人1元
今天在知乎上看了一个问题,发现结果与自己起初的直觉大相径庭,同时回忆起了以前的一些统计知识。问题房间内有 100 人,每人有 100 块,每次随机给另一个人 1 块,最后这个房间内的财富分布怎样?一开始直觉上告诉我,应该是平均100元左右,具体呈正态分布,但其实如果严谨一点的话,远远没有这么简单。略微严谨一点的话,问题有两种可能(题目缺少条件):允许财富为负值不允许财富为负值(即0块的人仅有可能收钱)情况1进行10000次游戏每人的最终财富状况如下最终财富状况直方图如下结果发现用
2021-01-29 11:19:39 1290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人