![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python-数据开发和数据分析
文章平均质量分 69
主要是数据开发相关和数据分析的相关内容。也有少部分的文章与机器学习相关。
TIM33470348
著有《Python数据分析:从小白到专家》一书。于2021年5月,由电子工业出版社和工信出版集团出版,是一本正式发行的图书,ISBN-13:9787121409233。
这本书能够面市,得感谢这么多年来,在我前进道路上一直陪伴我的亲人和好友,以及赏识我的各位长辈,老师和大佬们。尤其是在我低落的时候,仍然陪伴我,鼓励我,没有放弃我的挚友。
展开
-
SQL模板-用户留存率计算
在互联网行业中,用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用该应用的用户。用户留存一般区分新增用户留存和活跃用户留存。通过区分不同属性的用户留存状况,对不同用户采取精细的运营策略。于是,我们可以得到如下的代码,期中dt是登录/创号的日期,格式是y y y y-yy-dd。表user_create_raw是记录用户创号信息的表,role_login_in是记录用户登陆信息的表。在这段实习中,我遇到了用户留存率计算的需求,这里做个总结。首先来讲下,什么是用户留存?,“第N天登录的用户总数”为。原创 2023-09-19 16:34:53 · 803 阅读 · 1 评论 -
Kafka相关的一些基础概念
Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。原创 2023-06-22 20:50:24 · 1367 阅读 · 0 评论 -
HBase相关的一些基础概念
之前面试前司星环的时候,面试官问到HBase那一块的时候直接把我问懵了。上一次使用HBase还是本科的那个图书推荐系统的项目,已经年代久远了,所以今天我特意整理了下HBase相关的知识点。原创 2023-06-01 10:42:04 · 640 阅读 · 0 评论 -
hadoop集群debug——无法访问页面(三台服务器不在同一个内网导致)
hadoop集群debug——无法访问页面(三台服务器不在同一个内网导致)1 问题重述这一次配hadoop集群时,遇到了一个匪夷所思的问题:start-dfs.sh和start-yarn.sh后,明明三台服务器的所有节点全部按要求起来了,但是依然访问不了8088和9870这两个端口的页面。具体是resourcemanager、namenode、secondarynamenode各在一台服务器上。是的,包括datanode和datamanager都起来了,但是就是死活打不开页面。原创 2023-02-02 21:29:37 · 493 阅读 · 0 评论 -
2022年学习和实习总结——收获颇多
原来按照本科毕业那年既定的计划来看的话,我是打算转Java的。不过,今年2023届秋招Java岗的情况似乎不容乐观,身边好多我觉得能力出众的Java大佬都铩羽而归,最终只去了一些中厂和外资,这些开出的工资和大厂还是有一定差距的,着实惋惜。于是,我也就只能减少了投入到学习Java中的时间,打算重新回归C/C++。原创 2023-01-09 20:34:50 · 1499 阅读 · 16 评论 -
为基于elasticsearch和flask的web端检索系统增加新的检索功能
距离上次写博客已经有20天的光阴了,期间我为之前构建的系统增加了新的检索功能,这是记录了之前检索系统的博客:实习工作小结——下载和导入Elasticsearch模块实现自动比对的功能https://timtian.blog.csdn.net/article/details/124319573?spm=1001.2014.3001.5502接下来先看结果展示:基于Flask和ES的检索系统的系统演示在上面的视屏中可以看到,我们实现了多字段的检索,entity_id和entity_type是分开检索的,但是模板原创 2022-06-21 15:51:39 · 501 阅读 · 0 评论 -
实习工作小结-拆分大文件功能和Elasticsearch文档添加新字段
距离上次的博客已经有1个多月了,这个月里我主要精力放在了《计算理论》的期末考试上,28日终于考完了,考完感觉还不错,长舒一口气。上个月,实习单位里的事情也没干多少,跟领导也解释了,领导挺开明的,也没有多怪我。上个月没工作几天,就只完成了两个功能:拆分大文件功能和Elasticsearch文档添加新字段。这个文件一共90来G是读不进内存的,所以我们需要对其拆分。具体是这样的,有一个大文件上面呢有如下字段:pmid, span_start, span_end, entity string, entity typ原创 2022-06-01 11:44:01 · 405 阅读 · 1 评论 -
使用flask实现基于elasticsearch的web端搜索功能
概述干这个远程实习也有一个月了,感觉还不错,一天200的薪资对于一个在校大学生来讲已经不低了。上一周,领导布置了这一周的新的任务。大致要求就是做一个web端的搜索页面,大致逻辑如下图所示:首先呢,可以看到要求web端可以用flask也可以用streamlit,但我更熟悉flask,所以我用了flask写的。大致想法是先让用户选择上传文件的类型,是上传Pubmed ID,根据这个ID进行检索呢,还是上传关键字,根据这个key phrases来匹配title和abstract进行搜索。接着就是常规,原创 2022-04-22 10:18:04 · 1494 阅读 · 0 评论 -
实习工作小结——下载和导入Elasticsearch模块实现自动比对的功能
在之前的工作里我实现了批量下载文件和批量写入elasticsearch的功能,具体可以看这个博客:实习工作小结·批量下载文件和批量写入elasticsearchhttps://blog.csdn.net/qq_41938259/article/details/123862320?spm=1001.2014.3001.5501总的思路是,通过lxml解析器对原来的xml文件进行解析,提取出有用的信息,并导入到elasticsearch中去。下载模块是通过观察wget下载链接的规律,通过拆分字符串实现批量下原创 2022-04-21 13:53:57 · 1606 阅读 · 0 评论 -
实习小结·改进代码(解决爆栈问题)
最近几天实习生和新同事也越来越多了,使用我这台EC2工作的小伙伴也越来越多了。前几天代码运行的到没什么问题,很丝滑很流畅。但从前天开始我的elasticsearch和python脚本是不是的就被killed,一开始我还以为是哪个同事干的,但到了昨天被killed的次数越来越多,我不禁疑惑是谁这么缺德,于是我查看了日志:发现是计算机自己把我的进程给Kill的,原因也写的很清楚:out of memory,也就是爆栈,看来该为这一切背锅的是我自己。我反思了下爆栈的原因。这是我原来的代码:fr.原创 2022-04-02 10:39:41 · 3276 阅读 · 0 评论 -
实习工作小结·批量下载文件和批量写入elasticsearch
工作流程大致是先将文件下载下来,然后再解压。解压后的文件后缀是.xml,于是需要通过xml解析库解析出需要的数据,然后格式规整地写入elasticsearch。首先,数据下载的网站地url是这样的:http://ftp.ncbi.nlm.nih.gov/pubmed/baseline/这个目录下的文件名称格式也很整齐:pubmed22nXXXX.xml.gz,其中XXXX是他的编号,观察了下从1到1114为止。至此,我们的下载链接便是http://ftp.ncbi.nlm.nih.gov/pubme原创 2022-03-31 08:49:44 · 403 阅读 · 0 评论 -
实习工作复盘·用Elasticsearch的Python的API实现搜索功能
之前几日,我先实现了用Python脚本导入XML文件到Elasticsearch中。现在我又写了一个初步的脚本,用elasticsearch框架实现了检索的功能,下面的想法可能是做成一个WEB端的检索系统,目前先实现相关的后端功能。具体要求和思路上面给的要求是输入有两种列表,除此之外不会有第三种序列:[str1,str2,······,strN] 这种列表的语义是str1OR str2 OR······strN [(str1,str2),(str3,str4),······(strN-1,..原创 2022-03-22 22:00:35 · 2790 阅读 · 2 评论 -
数据分析——ETF基金申购赎回清单
序言2021年4月入职了南京一家数据导向的人工智能企业。这个岗位除了写些Python的脚本代码外,还有的工作就是文本标记。文本标记可以认为是人工将数据整理、清洗的一个过程,虽然比较枯燥但也是必不可少的环节。在过去的半个多月里,我接触到了如何处理json文件。之前我也比较菜,接触到的都是可以用xpath直接匹配到html文件的那种,在现在的工作里我第一次接触到了json文件。现在我以民生加银沪深300ETF这个基金为例,通过分析它的json文件来处理它的申购赎回清单。分析据了解,一般只有以ET原创 2022-03-02 21:03:05 · 1818 阅读 · 0 评论 -
2022年美赛C题M奖思路复盘(附代码、附论文)
前言美赛已经结束4天了,一直忙于教资考试的准备,今天我终于抽空写了这篇C题思路复盘的博客。题目大致要求题目叫'Trading Strategies(交易策略)',一共给了两个文件,分别是比特币和黄金价格随时间变化的CSV文件。大致要求可以分为以下四个步骤:基于截止至当日的价格情况建立模型,预测2021年9月10日原来的本金1000美元会变成多少钱?(Develop a model that gives the best daily trading strategy based only on原创 2022-02-26 15:51:58 · 19931 阅读 · 7 评论 -
DeBank和非小号网站的数据分析-实习工作小结
暑期实习的时候,我们部门开始对DeBank和非小号等网站进行金融数据分析,所以轮到我处理相关的数据了。这么多天了也没怎么写博客,今天我就写一篇,算是对暑期实习的一个小结。所有的数据是从DeBank和非小号两个网站获取的。主要是处理以下四个字段的数据:日期(近12个月)、锁仓量、24H额、收盘价,结果是要给数据分析师一个excel表格。 我看了一眼,这两个网站都是json传输表格里的数据的,还是挺好搞的。最后要输出excel表格,直接用pandas库的DataFrame数据结构来...原创 2022-02-26 14:55:06 · 2860 阅读 · 2 评论 -
Kafka学习踩坑:Linux终端显示Starting zookeeper ... FAILED TO START
第一次系统学习Kafka,在安装Zookeeper的时候就踩了坑,Linux终端显示Starting zookeeper ... FAILED TO START。找了半天才搞明白查看错误的办法,在zkServer.sh文件所在目录输入如下命令:./zkServer.sh status # 查看zookeeper的状态./zkServer.sh start-foreground # 查看错误原因显示如下:即:Error: Could not find or load mai...原创 2022-01-23 22:30:04 · 2023 阅读 · 2 评论 -
数据清洗的主要办法
1.什么是数据清洗?在获得数据后并不能直接进行数据分析处理,为什么?因为得到的数据不一定完全准确,直接使用这些数据进行分析的话可能会产生不小的偏差。所以,我们需要数据清洗这个步骤。总而言之,数据清洗是要对脏数据进行处理。脏数据包括缺失的数据,异常的数据和不一致的数据三种。先讨论缺失值处理方法。2.缺失值处理的方法缺失值处理方法大致思路是删除法和插补法。缺失值处理的删除法删除法顾名思义,就是将含有缺失数据的整一条数据全部删去。这种做法简单粗暴,简单在于十...原创 2022-01-07 16:16:03 · 8941 阅读 · 0 评论 -
KNN算法Python实现
这是最后预测的输出结果,0和1就是最终分类的预测结果。以下是代码部分:import numpy as npimport matplotlib.pyplot as pltimport pandas as pd# 这个函数用于对列表的每个元素进行计数def findListNum(li): li = list(li) set1 = set(li) ...原创 2020-02-12 16:47:42 · 359 阅读 · 0 评论 -
机器学习小结(论文用)
机器学习是人脸识别的根基,一张图片在计算机中存储首先是通过记录构成它的像素点的信息,包括像素的位置、RGB色彩以及灰度值等。在处理图像的过程中,图像也是通过矩阵的形式存放的,一个矩阵表示一张图片。通过对矩阵的翻转、平滑、膨胀等操作实现边缘检测和特征提取等操作。可以说,机器学习不仅是对于人脸识别,在整个人工智能的地位都是举足轻重的。机器学习是基于测试集构建的数学模型,我们一般会用概率统计模型作为...原创 2020-02-10 17:44:33 · 2957 阅读 · 0 评论 -
二分K-means算法Python实现
是基于这篇博客修改的:https://blog.csdn.net/qq_41938259/article/details/104206107增加了簇的颜色和形状,I/O如下示例代码如下import matplotlib.pyplot as pltimport pandas as pdimport numpy as npdef findDistance(x, y): ...原创 2020-02-07 15:51:17 · 756 阅读 · 0 评论 -
K-means聚类算法Python实现
使用的数据集如下:https://download.csdn.net/download/qq_41938259/12141002这是I/O以下是代码:import matplotlib.pyplot as pltimport pandas as pdimport numpy as npdef findDistance(x, y): return np.sqrt(...原创 2020-02-07 09:36:06 · 964 阅读 · 0 评论 -
使用改进的随机梯度下降法的逻辑回归
之前这篇博文使用的是梯度下降法的暴力法,计算了最优系数和绘制了决策边界:https://blog.csdn.net/qq_41938259/article/details/104163797这次使用了该进的随机梯度下降法,大大优化了复杂度,提高了运行速度import osimport pandas as pdimport matplotlib.pyplot as pltimp...原创 2020-02-06 10:43:31 · 449 阅读 · 0 评论 -
多元线性回归Python实现
不多废话,放I/O图这里给出相应的代码与注释import statsmodels.api as smfrom mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as pltimport pandas as pdimport numpy as np# 生成随机数据def generateData2()...原创 2020-02-05 13:13:48 · 1091 阅读 · 1 评论 -
一元线性回归打印R方(决定系数)以及MSE(均方差)和残差分析图的Python示例代码
注意,本例是围绕OLS回归模型展开的,LAD回归模型没有打印R方和MSE。输出示例如下:拟合曲线、残差分析图输出的R方值(0.8701440026304358)和MSE值(4.45430204758885)还有LAD模型的参数(一个2乘1的矩阵),如图# pandas库相关,用于读取csv文件import pandas as pd# statsmodels库相...原创 2020-02-05 09:06:56 · 6592 阅读 · 0 评论 -
逻辑回归可视化——绘制决策边界
具体代码如下,现在的代码是基于之前的逻辑回归Sigmoid函数的得到的结果最优参数,这是之前博客的地址:https://blog.csdn.net/qq_41938259/article/details/104139237使用的数据集也在这个链接里给出了,以下附上代码,代码使用了psutil来显示实时的内存使用率,和3百万次迭代的for循环的运算时间。import osimport...原创 2020-02-04 00:03:41 · 3876 阅读 · 0 评论 -
python爬取excel并用正则表达式将utf-8转化为数字
这次数学建模的题目是要分析两张表格,当然数学建模不是重点,本篇博文的重点是如何从两张excel里爬取数据并加以分析的过程,首先便是爬虫。我们要爬取两张表格里的数据,这次用到了pandas模块。pip install pandaspip install xrld有人会疑惑:“第二行是什么意思呢?”因为爬虫只能爬取老的office excel,即以xls为后缀的文件。而现在的新的off...原创 2019-07-02 23:12:39 · 1321 阅读 · 0 评论 -
Python匿名函数lambda和函数式编程简析
匿名函数不会在任何空间里创建名字,故可以节省大量开销。这是匿名函数lambda的使用示例:a=lambda x,y=2:x+y是这样调用它的:a(3)a(3,5)分别输出5(3+2)和8(3+5)接下来是内建函数filter(),map(),reduce()分别用于过滤,映射,迭guolvqi代。1)filter()过滤器源代码大致如此: def ...原创 2019-02-03 14:23:01 · 216 阅读 · 0 评论 -
Python的array模块
转载:https://www.cnblogs.com/jlf0103/p/9168093.html类型代码:计算机为数组分配一段连续的内存,从而支持对数组随机访问;由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基本地址和项的偏移地址相加。数组的基本地址就是数组的第一项的机器地址。一个项的偏移地址就等于它的索引乘以数组的一个项所需要的内存单元数目的...转载 2019-01-10 22:41:29 · 436 阅读 · 0 评论 -
python文件读取/写入练习以及使用pandas进行简单的求平均值操作
声明:这是原创,本人学号:170310441 为防止作业雷同产生不必要的纠纷这个其实是学校的一个作业,具体要求如下图:首先并没有给出学生的成绩数据,所以我想了一会决定用random函数来生成1至100的随机数字作为成绩,这个文件命名为randomrandom.py。代码如下:import randomimport csvfile = open('number.tx...原创 2019-09-19 14:40:10 · 5631 阅读 · 2 评论 -
python巨蟒之二——pandas基本操作(CSV文件处理)
pandas作为python的一个常用库,主要用于数据的处理。比如数据的读取和整理。引入pandas模块:import pandas as pdcsv文件是什么?逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解...原创 2019-07-18 12:18:00 · 704 阅读 · 0 评论 -
逻辑回归以及Python代码实现
逻辑回归即是sigmoid函数,关于逻辑回归以及sigmoid函数的推导这位博主讲的很清楚了:https://www.cnblogs.com/hum0ro/p/9652674.html下面给出具体代码。数据集可以去我的下载那里下载。https://download.csdn.net/download/qq_41938259/12129611import osimport pan...原创 2020-02-01 22:29:15 · 1834 阅读 · 0 评论 -
一次奇遇——再谈简单的二元线性回归
虽然我已经写过一篇关于线性回归的博文了https://blog.csdn.net/qq_41938259/article/details/98758305,但是这次“朝花夕拾”也是源于一个偶然的巧合。说来可能比较玄幻,有一个人在CSDN博客上私聊了问,询问我愿不愿意写书,我想了下欣然同意了。毕竟要是可以出版的话,对自己来说不仅是对这么多年努力的一种肯定,而且对于考研二面,还有就业面试,增添了一个沉...原创 2019-10-12 15:56:00 · 221 阅读 · 0 评论 -
数学建模——用于模型评估的几个概念(纯概念)
查准率与查全率查准率,就是所有预测结果中正确值所占的比例。而查全率则是实际结果中被预测到的值所占的比例。这样讲,为免太抽象,所以就用这么一张图来演示,以居民收入普查为例,要预测收入大于定于5万的人:设接受普查的居民为全集;1+2为真实值的集合;2+3是预测值的集合:查准率越高,命中的真确结果个数越多,预测准确性越高 。查全率越高,预测的完整性越高。为了用于表示以上这些东西,我们定义了...原创 2019-08-08 21:21:22 · 2331 阅读 · 0 评论 -
数学建模——一些基本概念(线性回归)和相对应的python代码实现
首先分析一下我们需要什么:我们需要解决什么数学问题?这个问题该用什么模型? 找到一个模型使用的区别准则。这是根据1来讲的,这句话的意思,是用于体现不同模型与实际未知模型有多少偏差的准则。 同时做出预测时也要有一个判定的准则(标准)。关键是具体该怎么做?这上面三个问题对应了以下三个步骤:按照一个或一些选出的模型类型对数据进行拟合 从一些已经拟合的类型中选取最适合的模型。 根据模型...原创 2019-08-07 17:16:47 · 1443 阅读 · 1 评论 -
最小二乘法的拟合(数学建模第三版)
就是备个份,方便自己以后查阅:原创 2019-07-03 13:38:00 · 5100 阅读 · 0 评论 -
数学建模
确定性系数和相关系数线性回归预测是通过一组统计观测数据确定最优拟合线性关系, 但我们需要对这种关系拟合的效果好坏进行评判,这种评判通常称为模型检验。评判的结论将直接影响人们对线性回归模型的信任程度,从而也影响对预测结果的信 任程度。评判的标准主要是拟合的误差,如果拟合误差比较小,拟合效果就好,预测结果的信任程度就高。如果拟合误差较大,拟合效果就不太好,严重时还必须重 新考察历史数据、选择...转载 2018-08-08 09:41:51 · 5391 阅读 · 0 评论 -
爬虫实战——中国天气网数据
这次的爬虫主要目的就是爬取当日中国天气网的即时气候数据。我位于苏州所以爬取的是苏州7月19号的天气。首先,使用的是beautifulsoup和xpath解析库,因为是纯练习性质,所以分别解析了两趟,最后把数据写入txt文档中。打开浏览器,键入http://www.weather.com.cn/weather/101190401.shtml进入中国天气网,鼠标右键保存网页。命名为1.html...原创 2019-07-19 20:43:54 · 6503 阅读 · 0 评论 -
python巨蟒之一Numpy(3)————矩阵初始化,矩阵加减乘运算
本文主要讲随机矩阵的初始化,还有矩阵的加减乘:矩阵初始化数据:1)将矩阵所有数据初始化为0,这里以一个3行5列的矩阵为例:np.zeros((3,5))2)将矩阵所有数据初始化为int类型的数字1,这里以一个3行5列的矩阵为例:np.ones((3,5),dtype=np.int64)用随机数填充矩阵:from numpy import random...原创 2019-07-16 20:11:24 · 1390 阅读 · 0 评论 -
python巨蟒之一Numpy(2)————数据的读入与切片运算以及数值比较
本文讲解numpy数据的读入与切片运算以及数值比较。npData=np.genfromtxt("1.txt",delimiter=",",dtype=str)这一句使用了genfromtxt函数,从txt文档读入数据并转化为矩阵,并存放在npData这个矩阵里。读取的文件名为1.txt,分隔符是逗号“,”最后都用str类型来存放。str类型是可以转化为int或者float类型的。...原创 2019-07-15 22:10:54 · 383 阅读 · 0 评论 -
python巨蟒之一Numpy(1)————矩阵基本操作
本文介绍numpy的矩阵使用及其矩阵计算的基本操作,主要是矩阵的初始化,等及各种查看等。import numpy as np这一段是numpy的引入,也是最基本的一条语句。将numpy简写为np也是业界的共识。print(help(np.array))这一句打印了numpy矩阵的说明文档。print是打印,而help则是显示帮助文档的必要语句。array即是numpy矩阵...原创 2019-07-15 21:05:36 · 238 阅读 · 0 评论