Anders Wang


我所认识的每个人都是榜样,都有值得我去尊敬和学习的地方。


Tag: Python


  1. 图解axis=0/1参数的理解使用

    在numpy与pandas的使用中,有个常见的参数axis,根据对axis的设定值不同就会得到截然不同的结果。对于如何正确设置axis的参数值,如果有人与我曾经一样有似懂非懂的经历,那一定是在某方面没有正确的理解作者对这个参数的定义。 为了彻底说清楚axis到底是什么,我会用手稿图结合多个详细的例子来总结。 先借用网上常见描绘的axis图: 其实这个图里的方向指示很容易误导人,包括一些网上的解释也比较模糊,只要你站在不同角度去理解就会造成理解偏差,我曾经就误解绕了进去,虽然用自己理解的方法…

    Python, 技术博文继续阅读

  2. pandas中set_index( )和reset_index( )以及reindex()区别

    在数据分析过程中,对数据表的索引操作是经常会遇到的。尤其在pandas中常用的有几个方法如set_index() 和 reset_index() 以及 reindex() ,这几个方法看着很相近但是如果没有完全搞明白区分它们的不同的话,在日后的使用中会极大影响数据预处理时的工作效率。 为了更好的以不同例子说明这几个方法的作用与区别,如下先声明一个初始数据集。 一、set_index() 的使用 set_index() 主要可以将数据表中指定的某列设置为索引或复合索引,如下是常涉及使用的几个参数:…

    Python, 技术博文继续阅读

  3. 蒙特卡洛方法求π值的可视化

    什么是蒙特卡洛 蒙特卡络不是一个人名,而是一个地名,因摩纳哥著名的赌场而得名,而该方法的提出者是大名鼎鼎的数学家冯·诺伊曼(现代计算机之父)。 蒙特卡洛(Monte Carlo)方法,又称为随机抽样或统计试验方法,是以概率和统计理论方法为基础的一种计算方法,本质是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。它将所求解的问题同一定的概率模型相联系,以获得问题的近似解。 这里要说明的一点是蒙特卡络方法是一种基于概率方法的统称,包含蒙特卡洛算法、模拟、过程、搜索树等。而且使用可能得到的数…

    技术博文, 数据分析, Python继续阅读

  4. 生日悖论的可视化分析

    什么是生日悖论 生日悖论(Birthday paradox)是指假设一个班级有50个人,如果说在这个班级里概率大到可以肯定的说至少有2个人的生日相同(当然这里还不包括双胞胎,不包括闰年2月29日的情况),你信吗? 一般情况下,我们的直觉会认为班级里至少有两个人生日相同的概率会比较低,毕竟每个人的生日有365种选择,而班级只有50人,但是实际上计算得到在50个人的班级里出现同生日的概率甚至达到了惊人的97%! 正是因为理性的计算与日常的直觉经验产生了如此明显的矛盾,该问题才被称为生日悖论。 生日的…

    Python, 数据分析, 技术博文继续阅读

  5. COVID-19疫情简要可视化分析

    2020年全球遭遇了新冠肺炎疫情,各大门户网站和主流App其实都有多维度的疫情数据分析。但是我还是打算尝试做一些简单的数据分析展示,同时会将数据以地图的形式可视化展示。 整个数据文件一共有两个分别为data_ncov.xlsx和chinadata.json。前一个文件是我们的疫情数据集文件,后一个则是后续创建地图时用到的全国各地省市的地理数据信息。 # COVID-19 数据分析 import pandas as pd import numpy as np import matplotl…

    Python, 技术博文, 数据分析继续阅读

  6. COVID-19疫情数据动态排行

    很久之前,我在抖音app上看到有用动态的数据排行效果来展示各种经济,人口增长等数据,非常震撼又很有视觉直观性。而2020年疫情爆发期时的每日疫情数据又是大家最关心的。所以我就想着自己仿造类似的效果。 网上的动态数据排行在我了解之后主要发现是用javascript写出来的,但是基于对javascript没有那么深入了解,我找到了其它可替代方案,就是使用matplotlib的animation方法来绘制动图。 效果展示 最终的效果还不错,可以看下GIF效果动图。 设计逻辑 对于整个代码的设计逻辑主要…

    Python, 技术博文, 数据分析继续阅读

  7. 数据处理 - 异常值分析及可视化

    异常值(Outlier) 是指样本中的个别值,其数值明显偏离所属样本的其余观测值。大多数情况下,异常值是由于数据录入或者数据后台数据运算错误导致。但是要说明的一点,异常值只是代表这个值属于异常而不一定代表这个值就是错误的。所以对于异常值的处理要适具体情况而定。 检测到了异常值,我们需要对其进行一定的处理。而一般异常值的处理方法可大致分为以下几种: 直接将含有异常值的记录删除。 视为缺失值:将异常值视为缺失值,利用缺失值处理的方法进行处理。 平均值修正:可用前后两个观测值的平均值修正该异常值。 不…

    Python, 技术博文, 数据分析继续阅读

  8. 将Series转DataFrame并修改列名

    在使用pandas操作的时候,pandas的两个主要数据结构Series和DataFrame是我们用的最多的。 Series是一种类似于一维数组的对象,它由一组数据和一组与之相关的数据标签索引组成。DataFrame是一个表格型的数据结构,它既有行索引也有列索引,它可以被看做有Series组成的字典。 一、将Series转换为DataFrame数据结构 而将Series转换为DataFrame也是会经常遇到的,看下常用的几种方式: 直接使用字典方式 使用字典的方式,创建好对应的列名与字典值就可以…

    Python, 技术博文继续阅读

  9. 数据特征分析 - 帕累托分析法

    帕累托分析法是基于帕累托法则的一种分析法。 先来说说什么是帕累托法则,其原型是19世纪意大利经济学家帕累托所创的库存理论。帕累托运用大量的统计资料分析当时的一些社会现象,概括出一种关键的少数和次要的多数的理论,并根据统计数字画成排列图,后人把它称为帕累托曲线图。简单的说,帕累托法则其实就是我们常说的二八法则,在经济学定律中说的是80%的财富掌握在20%的人手中,而在运营中说的则是80%的贡献度来自于20%的用户。 而基于帕累托法则的帕累托分析法(Pareto Analysis)是制定决策的统计方…

    Python, 数据分析, 技术博文继续阅读

  10. 用yield关键字创建生成器

    Python使用 生成器(generator) 对延迟操作提供了支持。所谓延迟操作,是指在需要的时候才产生结果,而不是立即产生结果,因此它不会在内存中创建和存储整个序列,这也是生成器的主要好处。 什么是生成器? 生成器其实是一种特殊的迭代器(iterator),但是不需要像迭代器一样自己去实现__iter__()和__next__()方法,简单的说生成器是通过一个或多个yield表达式构成的函数,生成器是为迭代器产生数据的。如果一个函数包含yield关键字,这个函数就会变为一个生成器。生成器并不…

    Python, 技术博文继续阅读