自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 2022.07.21

而里面还有一个,gitignore是在.py文件运行的时候,经常会产生一个.pyc。在描述里面选择,默认是public,在这个仓库里面所有人都能看到代码。只要在gitignore添加的话,就可以忽略这些pyc文件。id_rsa的内容复制之后放在刚才的key里面就可以添加了。编辑好文件之后,直接commit就可以提交了。readme文件是用来介绍这个项目的文件。只需要把电脑里面的ssh输入进去就可以了。但是在这之前,需要在电脑里面编辑。打开文件之后就是邮箱和用户名。输入之后会问你这个文件放在哪里。...

2022-07-21 22:21:27 186 1

原创 2022.07.20

git的分支管理。

2022-07-20 21:54:05 111

原创 2022.07.18

如果是这种情况下的删除,那麼就只能下載專門的讀取文件的軟件。而新创建的文件,如果不把它添加进入,那么就会显示未跟踪。所以一开始所说“创建版本”才需要两步。注意文件的修改编辑都是在工作区。另外,add后面可以跟多个文件。只会提交“暂存区”的修改。课时11补充-删除文件。课时6git管理修改。课时7git撤销修改。课时5工作区和版本库。课时9对比文件不同。课时10基本操作小结。...

2022-07-18 22:16:41 90

原创 2022.07.11

课时1 git简介 本质区别就在于,集中式的中央服务器挂掉之后,其他工作电脑就不能用了。而分布式,即使中央服务器挂掉,也可以使用。 课时3 版本创建 git可以帮助管理一个目录下面的代码,但是必须要先执行一个初始化的命令。 首先先用mkdir git_test创建一个目录。然后cd git_test/进入该目录。用ls -al查看可以看到几乎是什么也没有的。 这个时候用git init初始化。然后可以看到。初始化空的git仓库位于这个目录下。 这个时候再用ls -al查看,就可以看到这里多了一个隐藏仓库

2022-07-12 00:14:45 79

原创 2022.07.09

课时24 grep 课时25管道符和重定向 课时26解压缩命令 注意如果权限不够的话,可以用sudo,或者直接移动到根目录来进行。另外解压时,依旧用tar -xvf来解压。如果不指定解压路径,则会默认为解压到当前的文件夹内。 gzip命令与tar基本相似,只有细微的区别。 课时27linux的软件管理基本上安装都是要靠sudo的,因为sudo是用来获取权限的。用root的话,由于root是最高权限,所以一般为了保险起见,都是用自己的账号。 比如这样,直接使用命令就会显示权限不够。 要使用s

2022-07-09 16:25:47 144

原创 2022.07.05

课时16补充 由于我的ubuntu一开始没有安装ssh服务器,所以需要先安装。安装可以用 sudo apt-get install openssh-server 这个命令。 安装好之后,再利用 serve ssh status这个命令查看是否连接。出现了active(running)证明连接成功。在演示两台主机之间的连接时,需要用到两个虚拟机,这里就需要用到克隆。首先在ubuntu上点击“管理”。“管理”选项下有“自定义”,然后选择“库”。选择之后会出现下面这个界面。 接着右键点击这个系统,选择“快照”-

2022-07-06 00:06:44 62

原创 2022.07.04

课时13 在建立新的用户时我又犯了一个错误,必须要将面板调整到root目录下,但是调整到root目录下需要认证密码。认证密码时显示authentication failure,所以要重新用sudo passwd root这个指令来认证密码。 现在用户创建完毕后,这里会默认创建一个用户组。那么这个用户组在哪里呢? 可以用cat /etc/group来查看。可以看到如果创建用户的时候,不指定一个组的话,会默认为创建一个跟用户名一样的组。 由于root权限是最高的,所以id是0.那么如何把这个test01的用户

2022-07-04 23:20:18 80

原创 2022.07.02

课时10 回顾和学习目标 课时11用户,用户组和权限管理 在使用su root的时候一开始我失败了,因为没有初始化root。所以需要输入sudo passwd root,来初始化,才能成功。 进入根目录后,可以用whoami这个命令查看当前登陆的账号。创建新用户时,一开始我是用的“add user”结果报错说没有这个命令。后来看了这个文档Linux下如何手动创建新的用户(How to create new users manually under Linux) - 豆丁网,才发现中间没有空格,是“add

2022-07-03 00:18:50 74

原创 2022.05.11

第一列代表文件的类型。 第二列代表文件的权限。 第三列代表目录的数量。 第四五列代表文件所属的用户。 后面代表文件的大小和日期。 最后是文件名。 运用-lh的话,会在大小那里更人性化。 pwd-打印当前目录。 运用tab键可以自动补全命令。 直接用 touch 新建会显示权限不足,所以需要用sudo。 新建目录也是一样的。 新建的文件和目录可以用ll来查看。 创建递归目录。 由于这是个可视...

2022-05-12 00:14:39 68

原创 2022.05.10

课时2 linux操作系统简介 课时3 linux简介 虚拟机简单来说就是一款模拟电脑硬件的软件。

2022-05-10 22:55:32 83

原创 2022.05.07

课时36 函数 在MySQL裡面,中文和拉丁字母都當成一個字符對待。 课时37-函数2 那么如何在每一行的最后都加上一句“hello”呢? 当然也可以用if语句修改一下。 课时38python操作数据库 服务器地址在这里查看。 游标一旦创立,就可以操纵数据库了。 游标一定要关闭。 课时39 ...

2022-05-07 22:30:56 617

原创 2022.05.06

课时34 存储过程 比如说下面这个表,查询一部分数据。 先新建一个“查询”。 然后写结构。 接着在“begin”和“end”中间写内容。以查寻性别为“1”的记录为例。 那么如何查询刚刚创建的存储过程呢? 接着用关键字调用储存过程。 存储过程实际就是把程序封装一下。 接下来看看存储过程中的变量。 创建插入数据的存储过程。 课时35 试着调用。 那么是否有那么多数据呢? 没有索引的情...

2022-05-07 00:04:12 86

原创 2022.05.05

课时28 课时29 用户与权限管理 刚创建好的账号是否对数据库有权限呢? 可以看到,因为没有设置权限,所以是没有权限的。 那么接下来就要进行授权的设置。 如果授予当前所有的数据库的权限的话,就用*.*。 这里只授予表的权限。当然授予权限之后要刷新一下,让这个能立刻使用。 也可以看到,除了赋予的权限之外,不能做其他的事情。 所以需要查看一个用户所被赋予的权限。 那么如何继续增加权限呢? 如何回收权限呢? ...

2022-05-05 23:22:35 257

原创 2022.05.04

课时22 子查询2 课时23 子查询-3 课时24 保存查询结果 课时25小结 课时26 课后作业

2022-05-04 23:00:48 282

原创 2022.05.03

课时17 聚合函数

2022-05-03 23:01:24 151

原创 2022.04.28

课时15 条件查询 模糊查询,结合%,%代表无限制,而后面则代表必备条件。 而用下划线的话则会限定字符,一个下划线代表一个字符。 正则查询代表无论有多少个,只有符合规则都被算入。 点代表任意字符。 当然,正则非常灵活,所以也可以匹配不同顺序的。 课时16 要注意,如上图,究竟是空的字符串还是空的对象。 如果是空的对象,就要用“is”来处理。 当然也可以用逻辑或来判断。 排序很灵活,可以以数字来排。 也可以用字...

2022-04-28 23:57:25 100

原创 2022.04.26

课时13 学习目标 课时14 条件查询

2022-04-26 23:57:32 601

原创 2022.04.24

课时8 数据库操作 *表示查询所有数据。 这里插入一个新的列的时候,即使id是自动递增的,也要占位。 课时9数据库的操作。 插入多行数据的时候,一个括号代表一行的值,多个括号代表多个值。 ...

2022-04-24 23:51:54 436

原创 2022.04.18

课时6 修改列表 删除列表 添加时虽然要注意添加的信息,但是删除时只需要说名字就可以了。 修改字段的约束时要注意,以前的约束不会被保留。就像未修改前是不为空的,但是修改时不指定它不为空,那么修改后就会为空。 要注意的是修改字段名字的时候需要指定类型,不然会报错。 课时7 新建数据库。 右键选择-字符集一边都是utf-8 新建表。 ...

2022-04-18 23:45:07 470

原创 2022.04.16

课时2 mysql-学习目标 课时3 数据库概述 课时4 数据库的安装

2022-04-16 23:22:55 322

原创 2022.04.15

课时46 当数据比较多的时候,某几行几列是不会显示出来的。 不过因为此处用了head函数,所以至少前五行会显示。 课时47 上图的时间与我们学过的时间不一样,所以需要一个新的函数来运用于时间段。 数据看起来与前面一样,但是是periodindex的类型。 那么接下来就应该把这个数据给转换。 然后下一步,酱datertime设置为索引。 接下来解决我们的问题。 首先可以看到数据有缺失,在这里选择删除数据。 接下来就可以画图了。 先简单...

2022-04-15 14:41:21 101

原创 2022.04.14

课时44 import pandas as pd from matplotlib import pyplot as plt import numpy as np df=pd.read_csv(" ") #获取分类 temp_list=df["title"].srt.split(": ").to_list() cate_list=list(set([i[0]] for i in temp_list)) #多添加一列放入结果 cate_df=pd.DataFrame(np.array(ca.

2022-04-14 23:34:15 116

原创 2022.04.11

课时41 数据索引的练习 multiIndex-复合索引 也可以通过xx.index=[ ]来重新赋值一个索引。 也可以用reindex函数。 最后的f一行为nan,因为原本的f那一行不存在,是新建立的一个。 reindex相当于从原本的里面取出两行,a行存在所以有值,原本的f行不存在,所以没有。 set_index是把一列作为索引。但是这样的话会把作为索引的一列给删除。 如果希望把某一列作为索引,且把某一列保留,就需要用到drop参数。 索引还有unique这个方...

2022-04-11 15:20:51 470

原创 2022.04.07

课时38数据合并 on表示按照什么进行合并。 上图就表示在a这个列进行操作。但是df1与df3的a完全不一样,所以不能操作。 因为在默认情况下,merge取的是并集(?)。 查了一下,默认应该是“inner”,inner代表取的是交集。 想要取“并集”,应该设置为“outer”。 课件给出的知识是错的。 因为在df1里面,“a”这一列里面,A,B两行的值都为1(即使一个是int,一个是float类型也无所谓),所以在合并的结果里,df1的A行,B...

2022-04-07 23:33:58 77

原创 2022.04.06

课时35 import pandas as pd from matplotlib import pyplot as plt file_path=" "#csv文件 pd.read_csv(file_path) #rating,runtime分布情况 #选择图形,对连续数据的统计,使用直方图 #准备数据 runtime_data=df["Runtime(Minutes)"].values max_runtime=runtime_data.max() min_runtime=runtime.

2022-04-06 22:54:01 321

原创 2022.04.05

课时33 bool索引和缺失数据的处理 那么多个条件的时候应该如何设置呢? 需要用括号把所有条件括起来,并且用“&”符号来连接两个条件。 缺失数据的处理,首先要判断是否为nan。 接着就可以选择处理。 比如直接选择非nan的地方。 当然也可以直接删除。 如果只想删除全部为nan的一行的话。 如果想要一行里有一个为nan就全部删除的话 inplace这个参数,表示“原地修改”。 如果想要删除nan之后,直接运用这个dat...

2022-04-05 23:45:07 119

原创 2022.04.04

2022-04-04 21:57:36 1504

原创 2022 .03.27

课时25 数据的拼接 课时27NUMPY中的随即方法 执行结果表示为科学计数法。 因为,ones和zeros两个数据不一定为int,所以需要改变数据。 (这里老师犯了一个小错误,把最后的拼接数据两个都写成uk了,不过上图是改正之后的。) import numpy as np us_data="" uk_data="" #加载国家数据 us_data=np.loadtxt(us_data,delimiter=",",dtype=int) ...

2022-03-27 23:45:49 1189

原创 2022.03.26

课时24numpy中填充nan和youtube数据的练习 1.替换练习 mport numpy as np import numpy as npu t1=np.arange(12).reshape((3,4)).astype("float") t1[1,2:]=np.nan print(t1) 执行结果: [[ 0. 1. 2. 3.] [ 4. 5. nan nan] [ 8. 9. 10. 11.]] 2.找出nan并替换 import numpy as np impo

2022-03-26 23:52:01 321

原创 2022.03.25

课时21numpy中的索引和切片 以上节课的内容来讲。 取行和连续的行。 取不连续的多行。 取列,取连续的多列,取不连续的多列。 取特定的某行某列的值。 取多行多列的值。 取的是行和列交叉点的位置。 取多个不相同的点,是取对应的行和列的位置。 课时22numpy中更多的索引方法 通过设置“t2<10"的条件可以看出,返回的是布尔值。 那么如何找到想要的值,并把它重新赋值呢? 我们就可以用“...

2022-03-25 23:13:31 1076

原创 2022.03.24

课时18 numpy的数组的创建。 numpy主要是处理数值型数据的。 import numpy as np #使用numpy生成数组,得到ndarray的数据类型。 t1=np.array([1,2,3,]) print(t1) print(type(t1)) t2=np.array(range(10)) print(t2) t3=np.arange(10)#和range一样,帮助我们快速生成一堆数组. print(t3) print(type(t3)) print(t3.dt..

2022-03-24 17:18:20 1659

原创 2022.03.22

课时14绘制多次条形图 该代码的重点在于,需要设置不同的值,让y显示出的数据能够移动。 x_14会让b_14的第一个值在0,第二个值在1,第三个值在2,第四个值在3显示。 然后x_15设置了0.2的偏移量,所以让b_15的第一个值在0.2,第二个值在1.2,第三个值在2.2,第四个值在3.2实现。 同理,x_16设置了0.4的偏移量,让b_16的每个值分别在0.4,1.4,2.4,3.4,4.4出现。 这样就保证了第一部电影的三天票房出现在0,0.2,0.4,第二部电影的三天票房出现在1.

2022-03-22 23:12:11 282

原创 2022.03.20

课时110绘制散点图 由于老师是直接复制黏贴数据的,但是我没有办法,为了偷懒,我就直接采用了random函数自动生成温度。 from matplotlib import pyplot as plt from matplotlib import font_manager import random y_3=[random.randint(1,50) for i in range(30)] y_10=[random.randint(1,50) for u in range(30)] ...

2022-03-20 22:12:52 1664

原创 2022.03.19

课时3-数据分析得的介绍

2022-03-19 22:55:25 149

原创 2022.03.16

课时59二叉树的的先序,中序,后序遍历 先序遍历,先根,左,右。 中序遍历:左-》根-》右 后序遍历:左-右-根。 class Node(object): def __init__(self,item): self.elem=item #与链表不同的地方,链表只有一个后继的链接区域,而二叉树有两个 self.lchild=None self.rchild=None class Tre...

2022-03-16 23:49:04 629

原创 2022.03.15

课时55 数的概念 树,二维空间的集合。 其中每个节点都会有零个或多个子节点。

2022-03-16 00:26:12 139

原创 2022.03.13

課時51 归并排序的时间复杂度 分为两部,拆分过程可以视为o(1),因为最终是分到只有一个元素。 而复杂的过程在于合并。 首先是一个与一个合并,接着是两两合并……如此类推。 每次合并的时间复杂度是n,而根据循环,要执行好几次。 所以循环内的时间复杂度是o(logn),而每次循环的时间复杂度是o(n)。 整个的时间复杂度是o(nlogn)。 时间来说是小的,但是在空间上来说,必须要一个空间来保存才能反映这个值。 所以空间上占用的内存比较大。 总结一下各个排序算法的效率。 .

2022-03-13 21:12:41 404

原创 2022.03.12

课时49 归并排序 首先将整个序列进行拆分。 第一次分成两个部分后,再将左边部分拆分成两个部分。 然后就这么拆分到每一个部分只有一个元素。 拆分后,相邻两个元素开始合并。 合并时,小的元素要放在前面。 比如,【54】和【26】合并后,就是【26,54】。 接着,又每两个元素为一组开始合并。 此时需要借助两个游标,一个是右边的,一个是左边的。 左边游标指向的小,先把左边游标的拿出来,然后继续走。 此时移动后,左边游标的比右边游标的大的话,则把右边游标的拿出来。 .

2022-03-13 00:04:14 320

原创 2022.03.11

课时48 快速排序的实现2 def quick_sort(alist,first,last): if first>=last: #列表只有一个元素的情况 #且考虑在后面递归时low-1的情况 return """快速排序""" mid_value=alist[first] low=first high=last while low<high: #让high的指标左移 while

2022-03-11 22:12:25 75

原创 2022.03.10

课时456快速排序 假设现在仍然有一个无序的序列,直接去找其中【54】的位置。 此时,就需要两个游标。 【54】左边的都比【54】小,【54】右边的都比【54】大。 因此此时代表【小】的游标和代表【大】的游标,在交汇时,就是【54】的位置。 通过比较他们在相遇之前遇到的元素大小,来进行排序。 简单来说,采用两个不同方向的游标朝着中间走。 而要他们在中间相遇,就需要一个中间值。 假设中间值是54。然后现在high的右边往中间走时,遇到【20】这个元素。 【20】比中间值小..

2022-03-11 00:44:46 54

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除