数据分析所遇问题解答库
文章平均质量分 64
针对自己在做数据分析时,遇到的一些问题和解决方法,整理本专栏博文
积跬步,慕至千里
知行合一!
想,都是问题;
做,才有答案!
展开
-
案例卡:pandas数据框(DataFrame)转换为嵌套列表的两种常见方法
DataFrame转换为嵌套列表的两种实现方式。原创 2023-03-07 22:04:44 · 2134 阅读 · 1 评论 -
python正确读取文件路径的三种解决方法
日常用程序读取文件数据等时,常常会显示一些诸如文件路径不存在等错误信息。常用解决的三种方法。原创 2023-01-30 11:05:21 · 10752 阅读 · 0 评论 -
同比和环比真正的区别
目录你所知道的同比、环比你所不知道的同比、环比:两种方式的核心区别参考信息你所知道的同比、环比 不知道你是否和我一样,对同比 和环比 感觉很熟悉,甚至含义自己也顺口念来,我想到的答案诸如此类:同比,是和去年同期相比,比如2021年9月的某个指标和2020年9月做对比。环比,是和上个月/周相比,比如2021年9月指标和2021年8月做对比;这一周和上一周做对比。特地看了下百度百科1给的同比定义:同比一原创 2021-10-08 10:10:24 · 2198 阅读 · 0 评论 -
python向数据库插入字符串数据,字符串中含有单引号,入库报错解决办法
目录问题解决办法问题 最近处理部分数据,某些字段的数据中,含有单引号(含有双引号应该没有影响,如果报错,解决办法和单引号的方式类似)入库是会报错。 针对这一问题,解决办法如下:解决办法 对于这个问题,错误原因就是因为单引号是作为数据库字符串的标识的,因此,当字符串中有单引号号时,通过pyth原创 2021-09-02 16:41:16 · 2152 阅读 · 0 评论 -
python 实现对 同比、环比、占比、贡献率、拉动率 、移动均值 等的计算(附详细代码和样例)
一、概念解释1.1 同比同比增长计算公式:同比增长率=(本期数-同期数)÷同期数×100同比增长率=(本期数-同期数)÷同期数×100%同比增长率=(本期数-同期数)÷同期数×100例子:比如说去年3月的产值100万,本年3月的产值300万,同比增长是怎么算的?是同比增长200%?还是同比增长300%?本题中,同比增长率=(300-100)÷100=200%同比增长率,一般是指和同期相比较的增长率。某个指标的同比增长=(某个指标的值-同期这个指标的值)/同期这个指标的值当同期数为负值的原创 2020-10-23 14:32:34 · 6138 阅读 · 0 评论 -
jieba分词三种分词模式、用户自定义词典、停用词词典的使用
目录三种分词模式自定义词典使用三种分词模式精确模式:试图将句子最精确地切分开,适合文本分析。全模式:把句子中所有可以成词的词都扫描出来,速度非常快,但是不能解决歧义问题。搜索引擎模式 :在精确模式的基础上,对长词再次进行切分,以提高召回率,适合搜索引擎分词。自定义词典使用当某些特定的词在jieba的词典中没有并且需要准确切分出来时,这是就需要在切分过程中引入自定义词典。自定义词典以TXT文件形式输入,每个词占据一行。然后再Python中读取即可。示例:user_dict.txt的内容为原创 2021-01-29 08:38:33 · 8881 阅读 · 10 评论 -
python 将 json数据转换为geojson格式
目录一、问题需求二、python实现三、几个重要参数备份一、问题需求现在手头有一部分北京坐标需要转换,处理完后用 to_json进行了json化处理,但是最后的数据需要放在aicgis里边进行展示,从而确认参数是否需要继续校正,一直是手头进行替换操作,比较麻烦,因此脚本化处理,转换为geojson格式。二、python实现json转换为geojson格式数据,从实际的操作过程发现,其实主要是对字符串中的一些字段信息进行替换处理,具体替换的内容,可以直接参考代码replace替换的内容。具体实现如下:原创 2021-05-11 18:18:48 · 3624 阅读 · 0 评论 -
连接服务器环境运行程序实例:以python脚本为例
目录一、连接服务器(公司100服务器,可联网)二、服务器上后台运行脚本一、连接服务器(公司100服务器,可联网)个人用的cmder,(系统自带的cmd也是可以的),在命令行界面,输入脚本:ssh username@服务器地址 # 回车password # 回车,登录成功,实例如下对应的username和服务器地址部分,填写自己想要连接的用户名称和地址信息,然后输入对应的用户密码即可连接成功。实例如下:二、服务器上后台运行脚本在服务器上运行python脚本,简单的命令即可执行:原创 2021-05-10 10:14:10 · 811 阅读 · 0 评论 -
python的DataFrame结构的数据转换为json结构的数据(‘处理转换结果存在’反斜杠的情况)
目录一、问题需求二、解决办法一、问题需求DataFrame数据结构提供了to_json()的方法,但是转换的结果字符串中,字段名称部分存在反斜杠(\)的情况,而常用的json数据中,查看是不存在这一情况的,因此针对这一小问题,通过通过另一种方法来实现,解决这一问题。具体问题样例数据示例如下:原始数据示例:使用to_json()方法转换为的数据结果示例:二、解决办法查找了一些方法,最后发现,通过to_dict()方法转换后,很好的处理了上述问题,具体实现代码如下:import pandas原创 2021-05-08 11:05:40 · 1511 阅读 · 0 评论 -
python通过ssh通道连接PostgreSQL数据库(mysql等类同)
目录一、问题需求二、解决办法一、问题需求 对于有ssh通道设置的数据库连接,遇到已经有一段时间了。之前老是疑惑,使用Navicat之类的工具就可以连接数据库,但用python就是连接不到。之前写的博文【python连接PostgreSQL数据库获取数据的办法】怎么灰事,就不适用了。今日有空,把这个问题拉出来,解决一下:对于设置有ssh通道的数据库,该怎么用python来连接?二、解决办法 &nb原创 2021-04-08 10:01:56 · 1899 阅读 · 6 评论 -
python遍历获取指定文件夹下所有文件
目录一、问题需求二、解决方案方法一、使用os库方法二、使用glob库一、问题需求 最近要批量处理一批文件,那怎么挨个自动化导入这些文件的路径和名称呢,这肆意而为起的文件名称,手工一个个编辑肯定是不行的。必须得有相应的方法解决这一机械化的操作。话不多说,上解决方案。二、解决方案方法一、使用os库os库就不多说了,就是使用os.walk()函数1。os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向原创 2021-03-26 16:35:13 · 4246 阅读 · 4 评论 -
python处理excel合并单元格的拆分和填补
目录一、问题需求二、解决办法一、问题需求 本篇博文可以说是博主另一篇博文的反向需求——博文:《python实现excel单元格对象合并》。 简单描述下问题,借助示例来说明,日常工作中,经常会拿到一些单元格合并的数据表,以下图为例。但是当程序需要分析或数据库使用时,就需要对这些合并的单元格进行拆分,并填补对应单元格中的数据。想要的结果如原创 2021-03-25 20:46:24 · 5436 阅读 · 10 评论 -
python日常注意小知识集锦(整理中...)
python日常注意小知识集锦sort()和sorted()以列表结果为例sort()没有结果返回,但对列表进行了排序(列表本身被改变)sorted(),全局函数,有结果返回,注意:列表本身没有被改变。示例如下:...原创 2020-07-02 07:43:01 · 396 阅读 · 0 评论 -
python获取PostgreSQL数据库的所有表名、表字段信息
目录一、需求问题需求一:获取所有表名需求二:获取表的字段信息二、问题解决办法2.1 python连接postgres数据库的方法一、需求问题需求一:获取所有表名在mysql数据库中,我们想获取某个库下的所有表名时,只需要使用命令:show tables;但是,在PostgreSQL数据库时,是不通用的。需求二:获取表的字段信息类同需求一,我们想获取表含有的哪些字段信息,又如何实现呢?在mysql中,只需要使用命令:SHOW FULL COLUMNS FROM tbl_name [FR原创 2021-03-08 09:59:59 · 5797 阅读 · 1 评论 -
python连接PostgreSQL数据库获取数据的办法
目录一、问题二、解决办法方法一:使用psycopg2库方法二:psycopg2库+sqlalchemy库一、问题日常,经常需要用python来连接数据库,来获取我们想要分析的一些数据,那对于数据库postgresql数据库,该怎么连接呢?二、解决办法这个连接的方式,python提供了好几个库,下面就对我自己常用的两种方式,做一总结备份。你可能需要安装下面提到的库,安装方式很简单,pip install packagename 即可。假如速度慢的话,可以参考博主另一篇博文**使用pip instal原创 2021-03-05 22:30:06 · 5421 阅读 · 9 评论 -
python操作excel:批量为多个sheet页生成超链接
python操作excel:批量为多个sheet页生成超链接目录需求解决办法需求excel文件内存在多个sheet页,想要将总表中的信息进行关联和对应的sheet页进行关联,可以通过总表部分,快速调到特定的sheet页。一看里边excel里边要为好百个sheet页加超链接,想想都头大。有问题,相应的就有解决问题的对策。解决办法网上其实有很多办法,就不一一说明了。直接总结下自己的处理办法。最基本的原理就是对 **HYPERLINK函数**的使用。HYPERLINK函数的语法1如下:HY原创 2021-02-22 22:06:09 · 5652 阅读 · 7 评论 -
python实现将多个DataFrame结果导出到同一个excel的不同sheet页中
目录一、问题需求二、解决方案一、问题需求对于一个脚本一次会生成多个结果,将多个结果分别导出成多个文件,这类需求相对很简单,就不做概述。我们的需求情形如下:实际应用中,我们也常会碰到,需要将python处理的多个结果(常常是DataFrame格式存在)保存在同一个excel的不同sheet页中。基于此,python提供了很好的实现方法。具体如下。二、解决方案pandas提供了ExcelWriter()函数,可以很好的将我们上述的需求分别导出到同一个excel的不同Sheet中。具体示例如下:#原创 2021-02-18 23:23:57 · 8419 阅读 · 10 评论 -
python 批量设置数据显示的精确度(保留几位小数)的方法
快速设置python要显示的数据精确度,也就是保留几位小数的问题,方法很简单:import pandas as pdpd.set_option('precision',4)# 示例data = pd.DataFrame([[1,2,3],[2,34,5]])print(data)原创 2020-12-27 17:19:21 · 10272 阅读 · 5 评论 -
python生成总和为指定值的随机整数序列
目录问题需求问题实现小感问题需求指定某个序列的总和值 和 序列包含的数的个数 , 然后程序随机生成想要的序列。问题实现对于上述问题,想到了random.sample的用法,它多用于截取列表的指定长度的随机数,但是不会改变列表本身的排序。利用其不会改变列表中的顺序情况,就可以生成指定 一个想要范围内的数值,然后在开始处加入0,结尾处加入序列的总和值,然后利用这个序列进行挨个求差,就可以达到自己想要的目标。程序具体实现如下:import randomdef randomNumVaccinePer原创 2021-02-02 18:11:31 · 4028 阅读 · 12 评论 -
python 获取固定长度数值组成的数字字符串,不够的左边补0
模拟生成数据时,需要对一些信息进行编码,标注其唯一性,想到用规定字母开头的 字符+指定长度组成的数字字符串 来构成想要的编码。经过一番折腾,发现python的 zfill() 方法可以很好的实现自己的需求。zfill():返回指定长度的字符串,原字符串右对齐,前面填充0语法格式:str.zfill(width),width指定字符串的长度举例:# 指定编码开头字符为 pstr_code = ['p'+str(num_code).zfill(4) for num_code in ran原创 2021-02-02 11:36:40 · 2106 阅读 · 0 评论 -
python中将列表形式的字符串重新转化为列表
做数据分析是,为了存储方法,将本来是一个列表的变量,转换为了列表样式的字符串。如下示例:test_a = [['北京',2],['上海',5],['云南',1]]test_b = str(test_a)print(test_a)print(test_b)现在,有需要重新将列表样式的字符串结果,重新转换为列表,方便数据的分析,可以借用eval函数来实现:test_b = eval(test_b)test_b结果如下所示,成功实现。...原创 2021-02-01 14:25:25 · 2965 阅读 · 5 评论