Python
文章平均质量分 68
工作中遇到的python问题
Sun_Sherry
这个作者很懒,什么都没留下…
展开
-
Python:Pandas对象的深浅拷贝
这里仅以DataFrame为例进行说明。Pandas版本:1.5.3。原创 2023-03-19 20:42:55 · 2543 阅读 · 1 评论 -
Pandas:sort_index、sort_values方法的使用
以前关于DataFrame中的index只是片面地认为就是行索引,但是DataFrame的列名也可以被称为索引。比如data的定义中其二级列明的定义使用的仍然时pd.MultiIndex方法。同样,对于value也是类似。原创 2022-11-23 21:21:35 · 8142 阅读 · 0 评论 -
Pandas:如何修改DataFrame中某一列的值?
DataFrame是Pandas中的主要数据结构之一,本篇博客主要介绍如何DataFrame中某一列的值进行修改。原创 2022-11-06 17:40:31 · 30959 阅读 · 1 评论 -
Python:日期和时间包datetime的用法
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数(或总毫秒数)。网上有很多时间戳在线转换工具,可以自行计算验证。原创 2022-08-13 16:24:57 · 3694 阅读 · 0 评论 -
Pandas:DataFrame常用方法
DataFrame常用方法介绍。原创 2022-07-16 20:37:58 · 2949 阅读 · 0 评论 -
Pandas:Period时间段类型及其常用操作
Pandas中的period时期表示的是一个时间区间,比如数月、数年等。可以使用pandas.Period类进行定义。原创 2022-07-16 15:46:17 · 2449 阅读 · 0 评论 -
Python:List\Numpy\DataFrame大规模查找效率(同时查询多个元素的索引)
问题描述:有一个包含大约321w个元素的List型变量A,一个包含200个元素的List型变量B。现在需要求出B中各元素在变量A中的索引,若B中的某个元素没有出现在A中,则不返回。这里主要对比当修改A变量的类型时查找花费的时间。原创 2022-05-18 17:56:12 · 1858 阅读 · 0 评论 -
Python-序列化和反序列化
序列化就是把数据变成可存储或可传输的过程的,只有序列化后的数据才可以写入到磁盘或者通过网络传输到Spark集群的其他节点上。反序列化则相反,反序列就是把序列化的变量重新转到内存里。原创 2019-08-06 17:27:23 · 1928 阅读 · 0 评论 -
复杂网络中的结构洞理论及其Python实现
结构洞理论最早由美国社会学家Burt提出。结构洞可以理解为两个未连接节点之间的间隙,当两个节点通过第三个节点连接时,该间隙被填充,并为纽带节点创造了重要的优势。原创 2022-04-26 20:00:00 · 3893 阅读 · 3 评论 -
正则表达式:零宽断言
原创 2021-12-13 23:50:28 · 6735 阅读 · 12 评论 -
Jinja2中怎么使用宏?
Jinja2中的宏的作用类似于常规编程语言中的函数,可以把频繁冲的常用行为定义为一个可重用的函数,减少代码复杂度。原创 2022-02-15 21:15:00 · 2030 阅读 · 0 评论 -
Python中如何判断字符串是否仅包含数字?
在用Python进行数据处理的时候,经常会遇到DataFrame中的某一列本应该是数值类型,但由于数据不规范导致在字段中夹杂了非数值类型。对于这种类型的数据,再进行处理的时候一般都需要先判断该列中的每一个值是否仅包含数字。原创 2022-02-12 17:36:09 · 5029 阅读 · 0 评论 -
Python+Selenium实现网页截图
最近的项目需要对网页进行自动化截图,可以使用Python和Selenium来实现。原创 2022-02-08 18:34:49 · 6350 阅读 · 0 评论 -
如何使用Flask包构建网页
这篇博客的重点在于页面之间的跳转及前后端的数据传输。原创 2022-01-25 22:30:32 · 6474 阅读 · 3 评论 -
Jinja2模板基本语法
Jinja2是基于python的模板引擎,是Flask作者开发的一个模板系统。起初是仿django模板的一个模板引擎,为Flask提供模板支持,由于其灵活,快速和安全等优点被广泛使用。原创 2022-01-24 18:00:37 · 7641 阅读 · 0 评论 -
Pandas中常用日期操作
这里只会介绍在使用Pandas过程中常用到的日期操作(持续补充)。原创 2021-12-15 22:34:16 · 2556 阅读 · 0 评论 -
python:Flask中request对象的简单用法
1.Get2.POST原创 2021-11-17 15:17:42 · 5446 阅读 · 0 评论 -
如何解决决策树可视化的中文乱码问题?(部分解决)
问题描述:在使用pydotplus和Graphviz对决策树结构进行可视化的时候,由于训练数据的特征名称使用的是中文,所以在最终的可视化结果中,中文被显示成了乱码,具体如下图:从网上找到的一些资料说,需要对GraphViz中的font配置文件做修改,但这些资料中所说的解决方案都是针对GraphViz 2.39版本做的,对于Graphviz2.49(目前的最新版本)无效(因为里面的配置文件都变了,也有可能是我安装的Graphviz版本里面的包不全)。我的解决方案如下:dot_data=tree.expo原创 2021-09-10 14:18:09 · 1670 阅读 · 0 评论 -
Numpy中不同维度数组之间的计算(Broadcasting广播机制)
numpy中尺寸兼容的定义为:将两个数据的shape靠右对齐,然后在各个维度上进行兼容性判断:若对应维度上的尺寸完全相同或其中一个维度的尺寸为1,则在该维度上是兼容的。对于不存在的维度,则默认是兼容的原创 2021-07-04 18:51:59 · 5298 阅读 · 1 评论 -
Python:Numpy中的函数
主要是Numpy中一些不太常见到的函数1 numpy.r_[]作用: 将切片对象在第一轴上进行拼接。2 numpy.c_[]作用:将切片对象在第二轴上进行拼接。3 numpy.linalg.inv()作用:求矩阵的逆矩阵。4 numpy.linalg.det()作用:计算矩阵对应的行列式的值。...原创 2021-06-20 14:01:51 · 239 阅读 · 0 评论 -
用matplotlib中的FuncAnimation()实现GDP世界排名动态图
很久以前写过一篇使用Matplotlib实现GDP世界排名动态图,具体可以参考:https://blog.csdn.net/yeshang_lady/article/details/106040579。 但当时最终的动态图的实现方法非常笨拙,所以这里用maplotlib中的动态图函数FuncAnimation()重新实现制作一遍。数据集可以在原博文给出的网盘链接中下载。具体代码如下:import pandas as pdimport matplotlib as mplfrom matplotlib原创 2021-04-09 11:09:14 · 1375 阅读 · 7 评论 -
Jupyter Notebook和Spyder无法显示动态图(已解决)
1. Jupyter Notebook无法显示动图添加代码%matplotlib qt5。添加这段代码之后,动图会以弹窗的形式展示出来。举个栗子:import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport matplotlib.animation as animation%matplotlib qt5def update_points(num): point_ani.set_data(x[原创 2021-04-08 16:21:04 · 4337 阅读 · 6 评论 -
Pandas中的Category类型变量
Pandas中常见的是通过cut和qcut函数来产生Category类型变量,具体情况参考https://blog.csdn.net/yeshang_lady/article/details/107957020。这里主要是介绍一些Categroy类型的常用方法。1. groupby()遇到Categroy类型变量时当使用Category类型变量进行Groupby操作时,即使该类型没有出现,也会被纳入计算中。当groupby()函数中的observed=True时,可以保证只统计出现的category原创 2021-01-06 22:36:06 · 1589 阅读 · 0 评论 -
Pandas:isin()用法及其注意事项
正如前文所述,isin()方法可以判断DataFrame/Series中的某个值是否等于给定值。从data_4和data_5的结果可以看出:当isin()接收DataFrame类型数据时,其返回的结果相当于将两个DataFrame(一个是data,一个是isin中接收的参数)按照index和column对齐,若在相应位置上两个DataFrame的值相等则为True,否则为False。Pandas中的isin()方法可以同时判断数据是否与多个值相等,若与其中的某个值相等则返回True,否则则为False。原创 2021-01-04 23:08:27 · 24583 阅读 · 0 评论 -
Pandas:NULL的含义及使用时的注意事项
pandas中原创 2021-01-15 15:47:08 · 4316 阅读 · 3 评论 -
Pandas分箱离散化方法:qcut()和cut()的用法
1.qcut()函数原创 2020-08-13 18:20:09 · 8154 阅读 · 0 评论 -
numpy中的stack()、hstack()、vstack()方法
1.stack()方法stack(arrays,axis)方法的主要功能为将arrays中的数据按照axis指示的轴进行堆叠。首先,对于任意一个三维矩阵来说,其axis轴具体位置如下:使用stack()方法不同轴上进行堆积时,其结果如下:注意:arrays中的各个array必须具有相同的shape参数。2.hstack()方法和vstack()方法hstack(arrays)方法和vstack()方法的作用相似,前者将沿着水平方向对arrays进行堆叠,后者则沿着垂直方向对arr原创 2020-08-05 18:00:46 · 535 阅读 · 0 评论 -
Numpy.tile()方法的作用
numpy.tile(A,reps)参考资料:1.https://numpy.org/doc/stable/reference/generated/numpy.tile.html原创 2020-07-11 16:52:49 · 893 阅读 · 0 评论 -
Numpy:如何计算协方差
1. 协方差原创 2020-06-28 16:09:49 · 5071 阅读 · 0 评论 -
用Matplotlib实现世界GDP动态排名
本篇博客中的代码可以在jupyter notebook中运行。2023/01大修博客。因为在学习Tableau的时候遇到了一个GDP动态图,写这篇博客主要是想用Python来实现这个动态图,最终实现效果如图1。原创 2020-05-10 19:36:52 · 3663 阅读 · 0 评论 -
如何解决Python包nltk中的LookupError错误
在使用ultk中的停用词时发现出现了LookupError错误,具体报错情况如下:1. nltk.download()失败nltk.download为什么会失败,原因不清楚。为了下载nltk中的语料库,采用了下面直接下载的方法。...原创 2020-05-02 16:04:31 · 7429 阅读 · 10 评论 -
Pandas中的unique()和nunique()方法
Pandas中Series和DataFrame的两种数据类型中都有nunique()和unique()方法。这两个方法作用很简单,都是求Series或Pandas中的不同值。而unique()方法返回的是去重之后的不同值,而nunique()方法则直接放回不同值的个数。具体如下:如果Series或DataFrame中没有None值,则unique()方法返回的序列数据的长度等于nuniqu...原创 2020-04-06 16:22:50 · 28755 阅读 · 2 评论 -
DataFrame通过修改索引提升查找速度
下面以MovieLens-100K(可以在网上自己下载为例)来展示不同语法的查询效果。import osimport pandas as pdimport timeimport randomdata=[]with open(os.path.join('ml_data','u.data'),'r') as r_data: for line in r_data: ...原创 2020-01-15 18:23:23 · 2535 阅读 · 0 评论 -
如何解决Python中的RuntimeWarning: invalid value encountered in double_scalars问题
在写代码计算类皮尔森相关系数的计算时遇到如下警告:RuntimeWarning: invalid value encountered in double_scalars相关的代码段如下:(在下面的语句的执行过程中出现上述提示)id_col=(t_fa*id_part).sum()/(item_squre_rating[id]*item_squre_rating[col])首先要说...原创 2020-01-13 12:27:50 · 151219 阅读 · 1 评论 -
Pandas: 交叉表(crosstab)和透视表(pivot_table)的用法
Pandas中的交叉表和透视表的作用相似。其计算过程都是先将整个数据集依照index和columns参数指定的数据进行分组,然后使用aggfunc方法运用到values参数指定的数据,最后将结果转化为DataFrame。crosstab只能使用pd.crosstab()的形式,而pivot_table可以同时使用DataFrame.pivot_table()和pd.pivot_table()的形式。使用pd.pivot_table()的时候,需要使用data参数指定数据集。原创 2020-05-30 22:21:05 · 3126 阅读 · 0 评论 -
python笔记-类方法、静态方法和实例方法
1.静态方法静态方法是指类中不需要通过实例对象(即,这类函数的第一个位置参数不是self,也不是self)来调用就可以使用的方法。需要注意的是,这类方法不需要通过实例对象来调用,但类的实例对象也是可以调用这类函数(按照java的原理理解的话,该方法在具体执行的时候可能的还是通过来调用的)。在python3中使用装饰器@staticmethod来声明静态方法。静态方法中不同操作类定义的属性和方法...原创 2018-09-10 18:57:54 · 295 阅读 · 0 评论 -
Python内存分配及深浅拷贝
写在最前:网上关于python深浅拷贝的内容很多,写的也比较好。而我写这篇主要是想强迫自己总结一下这个主题,也想让自己的理解更深刻一些。1.内存分配机制首先,程序在内存和CPU中保存并执行时,系统会将程序中的各项数据进行分解,将不同的数据加载到内存的不同区域。通常,内存中的区域可以分为一下4个部分:内存区域 作用 栈内存区(Stack) 用于直接分配数据,存取数度较快,...原创 2019-04-08 13:40:46 · 319 阅读 · 0 评论 -
python:numpy的数据类型及append()、insert()、delete()函数的使用方法
1.numpynumpy和list的区别在于,numpy只能保存同类型数据,在list则可以保存不同类型的数据。numpy的底层是用C语言进行编写的,所以同样类型的函数,numpy的计算速度会高于同样功能的python函数。numpy中支持的数据类型主要有以下几种:类型 取值范围 简写 np.bool True或Fasle(假设a是一个numpy的array数据类型为...原创 2019-11-21 16:00:19 · 4029 阅读 · 0 评论 -
Pandas和Numpy:常见函数参数inplace的作用
1.inplace参数的作用pandas中,包括numpy中很多方法都设置了inplace参数。该参数的主要作用是指示是否在本地数据上做更改,其只能接受bool型参数,即 True和False. 具体示例如下:data为原始数据。接下来用dataframe.drop()删除Timestamp列,但是inplace设置为True,观察函数返回值类型及原始数据data的变化。从上述...原创 2020-01-17 11:41:27 · 3549 阅读 · 0 评论 -
pandas合并拼接的三种方法-join()、merge()及concat()方法
1.join()方法这个方法通常的使用方式为caller.join(),其中caller为DataFrame类型的数据。先来看join()方法中的参数,具体如下:参数 参数说明 other 要与caller合并拼接的数据。该参数可以接收三种类型的数据分别为:Series,DataFrame以及多个DataFrame组成的list。如果other为Series时,该Serie...原创 2019-12-04 11:03:33 · 8815 阅读 · 0 评论