
Python
文章平均质量分 57
胡小白的数据科学之路
https://www.zhihu.com/people/hu-jia-hao-10-2
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python使用matplotlib库构建动态图表 --基于animation模块
前言熟悉python数据分析的朋友一定对matplotlib库不陌生,这是做数据可视化最常用的包之一。虽然我们经常使用mattplotlib做一些静态的图表,比如折线图,柱状图,饼图等等,但是某些时候,我们需要让我们的图表动起来。最近因为工作上的需要,我尝试构建了动态柱状图,来描述各个数据在时间维度上的变化情况。主要用到的就是matplotlib中的animation模块。下面我就来介绍一下我的基本需求以及如何用该模块来实现需求。需求描述给定4个基本渠道,我希望通过柱状图的形式来描述各个渠道指标随着时原创 2021-12-25 15:13:49 · 1577 阅读 · 0 评论 -
记录一道有趣的python笔试题:匿名函数与闭包的综合运用
前言最近做某公司的数据挖掘岗的笔试题,遇到一道python题,让我印象深刻。如下def num(): return [lambda x:x*i for i in range(4)]print([m(?) for m in num()])如果打印的结果为[6,6,6,6],问❓处的数字应该为多少?分析首先,很显然的,num()函数返回的是4个匿名函数组成的列表,那么遍历这4个函数并调用的结果就是我们的打印结果。如果不仔细想清楚,会很自然的认为答案就是[0*❓,1*❓,2*❓,3*❓]。原创 2021-09-26 14:32:04 · 226 阅读 · 0 评论 -
使用pandas解决一个spam filter问题
前言昨天做了shopee的一个线上测试,其中最后一道问题是使用pandas进行垃圾评论的筛选,因为时间限制,昨天并没有写完,之后又重新做了一遍,这里做个总结。题目大意首先,题目定义,对于对于同一个用户,发送同样的评论次数超过3次,就被定义为垃圾评论。或者超过或等于2个不同用户发送同样的评论,也被定义为垃圾评论。举个例子,我们有如下的一个DataFrame。 name comment comment_id0 frank i am ok 11 frank i am ok原创 2021-09-26 12:16:06 · 296 阅读 · 0 评论 -
万字长文详解Python数据分析利器Pandas以及其与SQL的对比
前言作为Python中进行数据分析最重要的库之一,Pandas可以帮助我们轻松上手数据分析。在这篇文章中,我会详细总结Pandas的一些基本概念和操作语法,同时我也会将Pandas与SQL做一个简单的对比。话不多说,我们开始。首先我们先导入Pandas库以及与其高度相关的基础库Numpy。import pandas as pdimport numpy as np1.Pandas objects在pandas中,有3种基本的数据结构,分别是Series,DataFrame 以及Index。我们来一原创 2021-09-25 00:41:22 · 1232 阅读 · 0 评论 -
对于python中赋值操作的小总结
直接赋值赋值操作是一项非常基本但是重要的操作,在python中,最常见的赋值方式就是直接赋值,比如b=a。情况1:不可变对象(比如list/tuple/dict)对于直接赋值而言, 变量b和a都指向同一块内存地址,或者说指向同一个对象。因此对于一个不可变对象而言, 修改a的值等价于修改b。如下a=[1,2,[3,4]] # 不可变对象b=a # 直接赋值a[2].append(5)a.append(6)print(f'a={a}')print(f'b={b}')输出结果a=[1,原创 2021-09-13 16:37:23 · 688 阅读 · 0 评论 -
python中yield关键字的使用(附使用场景代码--conll文本数据读取)
通俗理解1.当一个函数中带有yield关键字之后,这个函数就变成了一个生成器。当我们直接调用它时,返回的是一个生成器对象。2.那么既然它是一个生成器,那么我们可以通过循环来调用它,来执行它内部的逻辑。那么关键来了,带yield关键字的生成器它的执行逻辑是怎样的呢?总结来说那就是当我们在外部循环调用该生成器时,每次遇到yield关键字时,返回其后面的的返回值,一次循环结束,然后程序会停在这个地方。然后下一次循环开始的时候,程序会从上一次停止的地方开始继续执行,知道再次遇到yield关键字,返回结果,该次原创 2021-06-07 18:43:59 · 1125 阅读 · 1 评论 -
numpy中的数组操作np.dot总结
case1:对于两个1维数组a,b(必须保证元素个数相同),其结果就是两个数组(或者也可以理解为向量)的内积(inner product).case2:对于两个二维数组a,b,调用np.dot(a,b)等价于矩阵运算,我们使用np.matmul(a,b)或者a@b可以实现一样的效果,只需要满足矩阵乘法的规则即可。case3:当两个数组a,b的size不同时,比如a是一个N维的数组,而b是一个一维数组,这时np.dot(a,b)做的事对于a的最后一个维度上的数据与b求sum product。因此,必须原创 2021-04-21 19:54:35 · 480 阅读 · 0 评论 -
Python基础----字符串填充的几种方法
背景介绍在有些时候,我们需要固定长度的字符串作为某些后续步骤的输入,但是手头的字符串很可能是变长的,因此在这种情况下,我们就需要使用某些方法对字符串进行填充,使其长度符合要求。下面介绍几种在python中常用的方法。zfill()方法str1='abc' #初始字符串#假设我们后续需要的字符串定长为10len_=10#使用zfill进行填充,默认用0在左边进行填充str1.zfill(len_)#输出'0000000abc'为了方便在后续的步骤中将原始字符串取出,我们可以在初始字符原创 2021-03-21 15:52:50 · 5084 阅读 · 0 评论