- 博客(173)
- 收藏
- 关注
原创 数据分析第一天(pandas简单的对快餐店数据进行操作获得想要的信息,使用apply,groupby)
数据保存在数据名称:快餐数据.tsv(tsv是用\t作为字符分隔符的文件格式;csv是逗号)因此可以用pandas的read_csv函数读取数据。
2024-06-03 16:06:02
367
原创 数据可视化第十天(爬虫爬取某瓣星际穿越电影评论,并且用词云图找出关键词)
本次爬取的是用户评论,只供学习使用,不会进行数据的传播。希望大家合法利用爬虫。
2024-05-19 17:18:27
386
原创 数据可视化第9天(利用wordcloud和jieba分析蝙蝠侠评论的关键字)
数据可以在https://github.com/harkbox/DataAnalyseStudy进行下载。
2024-05-18 10:57:04
326
原创 数据可视化第八天(同位置多柱状图)
同位置多柱状图主要是通过width重新获得x的坐标,第一个位置是ps,第二个就是ps+width,第三个就是pos+width*width进行绘制.通过fig的add_subplot()函数进行子图的选取。
2024-05-17 17:05:07
248
原创 数据可视化训练第7天(json文件读取国家人口数据,找出前10和后10)
关于数组的字典排序,属于lambda内置排序函数set_xticks设置刻度和字体翻转;第一个参数是需要多少个刻度ticks,数值型代表数,字符串代表本身,第二个参数是一一对应刻度的标签labels。
2024-05-14 19:24:34
352
原创 数据可视化训练第6天(美国人口调查获得关于收入与教育背景的数据,并且可视化)
本次使用字典嵌套记录数据,并且通过lambda在sorted内部进行对某个字典的排序,最后用plotly进行绘图。本次提取数据的时候,用到了array的布尔型数组,这是比较方便的一种做法。关于教育背景的部分翻译有问题。
2024-05-13 19:37:11
289
原创 数据可视化训练第三天(富豪借钱问题可视化)
学习到numpy如何生成等差等比数列如何设置刻度使用np.where函数传递表达式选择符合要求的数组condition可以是表达式,也可以是布尔数组。
2024-05-10 19:30:13
294
原创 数据可视化训练第一天(matplotlib直线;散点图,随机漫步)
可以简单的理解figure就是一个空白的图层,创建axes就是在里面创建坐标轴fig=plt.figure()#一个空的图形对象;没有axesfig,ax=plt.subplots()#一个图形对象对应一个axesfig,axs=plt.subplots(2,2)#一个图像有四个网格的axes#创建三个axes,一个在左侧;另外两个在右侧#这样使用子图层plt.show()
2024-05-08 18:32:46
259
原创 “傻瓜”式啃西瓜书机器学习入门系列,简单易懂!第一章绪论+1.1数学公式
西瓜书作为机器学习的入门书籍,许多人慕名而来,但是稍微阅读一下,发现其也没有想象中那么入门。本人作为一名“傻瓜”,会在此记录自己傻瓜式的啃书过程和学习过程,希望能够对基础不好的朋友有一定的帮助。希望在学习西瓜书的时候,,并且有西瓜书的pdf或者纸质书。同时,本人能力有限,理解难免出错,希望各位大佬指点和交流。
2024-04-15 19:29:11
1784
1
原创 数据库关系模型之关系代数
基于集合,提供了一系列的关系代数操作:并、差、笛卡尔积(广义积)、选择、投影和更名等基本操作,以及交、连接和关系除等扩展操作,是一种集合思维的操作语言。关系代数操作以一个或多个关系为输入,结果是一个新的关系。用对关系的运算来表达查询,需要指明所用操作, 具有一定的过程性。是一种抽象的语言,是学习其他数据库语言,如SQL等的基础。
2024-03-20 10:54:57
1046
原创 数据库学习之关系数据库与关系
列的取值范围。一组相同数据类型的集合比如整数集合,全体学生的集合。集合中元素的个数称为域的基数。笛卡尔积(Cartesian Product):元组及所有可能组合成的元组元组(d1, d2 , … , dn)的每一个值di叫做一个分量(component)元组(d1, d2 , … , dn)是从每一个域任取一个值所形成的一种组合,笛卡尔积是所有这种可能组合的集合,即:笛卡尔积是由n个域形成的所有可能的n-元组的集合。若Di的基数为mi,则笛卡尔积的基数=元组个数为:m1m2m3*…*m_n。
2024-03-19 09:16:11
787
原创 PyCharm如何添加python库
6.在C:\Users\m\AppData\Local\Programs\Python\Python38-32\下找到 site-package文件夹,在里面找到你安装的库文件夹,有两个,全部复制。获得python的安装路径C:\Users\m\AppData\Local\Programs\Python\Python38-32\python.exe。下面使用清华源,在cmd中输入如下命令就可以了。1.使用pip命令在国内源下载需要的库。4.下载完毕后可以在cmd中输入。3.那么可以使用如下cmd命令。
2024-03-03 19:07:31
949
2
原创 pat学习之二分法复习
1.在有序的数组中查找某一个数(默认递增)int BinaryFind(vector<int> &a,int left,int right,int x){ int mid; while(left<=right) { mid=left+(right-left)/2; if(a[mid]==x) return mid; else if(a[mid]>x) { left=mid+1; } else { left=right-1;
2022-05-03 22:39:48
291
原创 pat学习之map复习
map的使用题型:1.题目给定数据,需要进行搜索的时候2.题目给定数据,需要进行统计的时候3.题目给定规则,自己生成数据,数据较少住:1.map需要注意的是可以用迭代器的first/second访问键和关键值2.erase删除删除迭代器位置的元素删除键位置的元素first,end删除first到end-1的元素,注意其都是迭代器3.键会从小到大进行排序1100 Mars Numbers本题注意到,最大数字到168,可以打表将所有的数字都存储下来,最后判断首位是否是数字或者字母来分开搜
2022-04-30 00:54:54
226
原创 pat学习之hash复习
hash题型:1.一般用于查询类的题目2.统计个数的题目1.hash最简单的例子是查询数字,记录数字出现的个数。算法笔记中对散列定义浓缩为一句话:“将元素通过一个函数转换为一个整数,这个整数唯一的代表这个元素”。,那么在查询中直接进行查询就比较方便。2.关于散列函数:(1)直接对应法(2)线性变换(很少用),在(x,y)坐标对应于一个数的时候可以用到key=x*range+y;(3)除留余数法:key=key%mod;可以覆盖0-mod这个范围的数,一般为了尽可能的覆盖范围里面的每一个数
2022-04-25 22:59:02
837
原创 Pat学习之进制转换复习
1.将一个Q进制的数字;转为p进制的数字应该有两步;第一步:将这个数字转为10进制;第二步:10进制转为p进制int change(int a,int q)//q进制转为10进制 { int sum=0; int p=1; while(a!=0) { int k=a%10; sum+=p*k; p=p*q; a=a/10; } return sum; } vector<int> change1(int a,int q)//将10进制a转为q进
2022-04-20 23:42:49
201
原创 Pat学习Two pointers复习
1.递增数列寻找和为某一固定值的两个数暴力求解:void violentS(vector<int> &a,int target){ int n=a.size(); for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { if(a[i]+a[j]==target) { printf("%d %d",a[i],a[j]); } } } } 暴力破解唯一的好处是不需要将数组进行排序
2022-04-16 22:49:28
1064
原创 Pat学习之归并排序
两个注意点:1.step代表两组的总长度,一组的总长度大于等于数组的长度代表排序完成2.第二个小区间的右边界,应该为min(n-1,i+step-1)void merge(vector<int>&a,int l1,int r1,int l2,int r2)//合并函数{ vector<int> b; int k=0; int i=l1; int j=l2; while(i<=r1&&j<=r2) { if(a[i]>a
2022-04-13 21:02:47
303
原创 par贪心算法A1038Recover the Smallest Number
总结:1.拼接的字符串最小,可以比较s1+s2 s2+s1的大小,来确定s2和s1谁应该放在最前面2.利用erase操作删除前置0#include <iostream>#include<string>#include<stdlib.h>#include<stdio.h>#include<algorithm>#include<vector>#include<string.h>//1038 Recover t
2022-04-10 11:25:29
412
原创 pat二分学习
整数的二分:1.查找序列中是否存在满足某条件的元素;2.模板,查找第一个大于等于某个条件的元素若寻找最后一个小于某个条件的元素,只需要将上述结论-1#include <iostream>#include<string>#include<stdlib.h>#include<stdio.h>#include<string.h>#include<algorithm>//二分学习之基本二分代码的实现 int binary
2022-04-10 09:54:53
125
原创 贪心算法patA1067Sort with Swap(0, i)
题目大意:只有swap(0,*)的操作,寻找排序到递增的最小的交换次数输入:n=10代表0-9这几个数字题目思路:1.利用数组保存输入的数据顺序;2.0对应的位置是几,和这个数字进行交换若a[0]的值是0,则找到第一个不匹配的位置与0交换终止条件为排序完成 (思路正确,但是代码实现比较复杂)提交:1.第一次提交超时,因为排序完成的判断每次都是循环全部,可以在查找第一个不匹配的位置时候判断是否排序完毕2.观看算法笔记,对于数字的查找,可以直接从有序数字后面开始,节省时间再次查看算法笔
2022-04-08 19:16:10
329
原创 贪心算法学习patB1023 组个最小数
我的代码在关于0的处理上存在逻辑复杂,晴神的代码比较清晰#include <iostream>#include<string>#include<stdlib.h>#include<stdio.h>#include<string.h>#include<algorithm>#include<vector>//1023 组个最小数/*输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字
2022-03-30 09:57:39
140
原创 hash学习之Pat1048 Find Coins
输入: N代表硬币的总数m所拥有的钱输出:v1+v2=Mv1<=v2 如果解决方案不唯一,输出最小的v1没有解决方案输出 No Solution第一次提交:存在测试点运行超时,原因在于二次循环的地方,可以进行思路的调整,循环内部不用遍历进行整个数组,可以用hash来表示是否存在数字,然后检测满足和为M的数字是否存在思路:1.输入数字到数组中,数组大小大于1000002.对数组进行由小到大的排序3.由第一个开始往后遍历,由于是从小到大的排序,所以保证了V1<=V2,且输出
2022-03-28 09:07:34
171
原创 hash学习patA1050 String Subtraction
hash类型的基本做法:1.录入hash数据,并且保存原始数据2.根据hash数据进行处理字符串常见的边界情况:1.一个是空字符串2.字符串s1的长度和s2的长度不一定,需要注意处理情况#include <iostream>#include<string>#include<stdlib.h>#include<stdio.h>#include<string.h>#include<algorithm>//1050 S
2022-03-27 11:14:23
141
原创 hash学习pat1041 Be Unique
1041 Be Unique (20 分)Being unique is so important to people on Mars that even their lottery is designed in a unique way. The rule of winning is simple: one bets on a number chosen from [1,104]. The first one who bets on a unique number wins. For example
2022-03-27 10:44:21
178
原创 hash学习PatB1005 继续(3n+1)猜想
1005 继续(3n+1)猜想 (25 分)卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、4、2 是被 3“覆盖”的数。我们称一个数列中的某个数 n 为“关
2022-03-26 11:24:32
104
原创 hash学习Pat1047编程团体赛
注意:1.使用sscanf将字符串转为数字,会存在一个测试点过不去2.直接使用sscanf控制格式来获得数字#include <iostream>#include<string>#include<stdlib.h>#include<stdio.h>#include<string.h>//1047 编程团体赛/*思路: 1.直接利用hash【1001】和即可并用max保存最大的队伍号由于格式一样,当作字符串来输入一行,根据s
2022-03-26 10:28:38
392
原创 hash1043 输出PATest
#include <iostream>#include<string>#include<stdlib.h>#include<stdio.h>#include<string>//1043 输出PATest/*直接hash统计人数即可 思路:1.利用数组按照顺序保存其本来的ascii码的位置 统计这六种字符数目2.按照顺序输出,并减一,若减为0则跳过 */using namespace std;int main() {
2022-03-26 09:48:43
163
原创 PatB1042 字符统计
加粗样式## 1042 字符统计 (20 分)请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。输入样例:This is a simple TEST. There AR
2022-03-25 11:38:20
117
原创 PatA1092To Buy or Not to Buy
whole pieces整件题目大意:第一个字符串代表全部的面包第二个是这个人人想买的面包,检查商店出售是否包含这个人全部想要的包含 yes 并且说明多买几个不包含 no 说明错过几个0-9 a-z A-Z代表颜色注意条件:1.人买的可能比商店卖的多2.面包数量也要对上3.利用负数代表差几个面包的时候,需要注意只有第一个字母有效比如A hash值为-1,那么接下来的A的hash值不应该继续使用题目思路:1.首先将面包录入hash中 ,hashtable为ascii2.商店卖的++
2022-03-25 11:17:54
344
原创 PAT1033旧键盘打字 测试点分析
1033 旧键盘打字 (20 分)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 105个字符的串。可用的字符包括字母 [a-z, A-Z]、数字 0-9、以及下划线 _(代表空格)、,、.、-、+(代表上档键)。题目保证第 2 行输入的文字串非空。注意:如果上档键坏掉了,那么大...
2022-03-25 10:34:45
308
原创 HashPat1029旧键盘
1029 旧键盘 (20 分)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。输出格式:按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有 1 个坏
2022-03-24 11:05:35
60
原创 安卓学习之广播的动态监听
Android内置了很多广播,例如手机开机,电量充满,关机等各种广播。1.声明广播的过滤器private IntentFilter intentFilter;2.声明广播接受类并且重写onReceive方法private NetworkChangeReceiver networkChangeReceiver;//自定义接受类 class NetworkChangeReceiv...
2020-01-14 10:09:34
307
原创 安卓学习之ListView
简单的用法ListView是一个非常强大的控件,先看看它的简单用法。首先,我们在主界面的xml代码中添加这段代码<ListView android:id="@+id/list_item" android:layout_width="match_parent" android:layout_height="match_parent" ...
2020-01-13 09:31:53
149
原创 安卓学习之自定义View类和控件(Button去掉边框)
在很多情况下,我们需要自定义属于自己的layout,毕竟很多时候我们需要把一些经常用到的布局保存下来,在以后继续使用,避免重复代码。标题栏实例xml代码如下 style="?android:attr/borderlessButtonStyle"//去掉Button的边框<?xml version="1.0" encoding="utf-8"?><Line...
2020-01-09 09:59:15
514
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人