- 博客(37)
- 问答 (3)
- 收藏
- 关注
原创 Pandas-操作列
1.读取列 df.columns ''' Index(['订单日期', '门店城市', '商品编号', '产品名称', '销售数量', '零售价', '销售额'], dtype='object') ''' 2.给列命名 df.columns = [1,2,3,4,5,6,7] ''' Index(['订单日期', '门店城市', '商品编号', '产品名称', '销售数量', '零售价', '销售额'], dtype='object') Int64Index([1, 2, 3, 4, 5, 6, 7],
2022-05-31 15:04:24
381
原创 Pandas-数据探索
1.读取数据 import pandas as pd df= pd.read_excel("data/销售数据.xlsx") 2.返回数据的行,列 df.shape ''' (13739, 7) ''' 3.对每一列进行统计,返回是否为空值,数据类型等 df.info() ''' <class 'pandas.core.frame.DataFrame'> RangeIndex: 13739 entries, 0 to 13738 Data columns (total 7 columns):
2022-05-31 13:08:49
316
原创 MySQL处理字符串函数
1.substring_index函数:拆分字符串 格式:substring_index(str,delim,count) 说明:substring_index(被截取字段,关键字,关键字出现的次数) 注:如果关键字出现的次数是负数,则是从后倒数,到字符串结束 例如:user表,需统计多少男人多少女人 id profile 1 180cm,75cm,27,male 2 175cm,75cm,27,female 3 185cm,75cm,27,male sele
2022-05-25 15:54:51
299
原创 MySQL导数据
如何使用MySQL命令导出csv,txt等格式数据 用以下mysql语句 查看secure_file_priv 对应的值 secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出。 secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行。 secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出。 如果你想导入你指定的目录或者文件夹,解决办法如下: 打开my.cnf
2022-02-08 15:07:19
453
原创 Lag与Lead函数
lag(param1, param2, param3)取前N行,相当于原列向下平移n个单位 取前N行 param1:表中列名 param2:前N行 param3:超出行数时默认设置值, 没设置就是null lag(参数1,参数2,参数3)over(order by 列) lead():取后N行 测试数据 ...
2021-11-23 10:54:02
724
原创 最大值问题
力扣1082 例题1:查询总销售额最高的销售者,如果有并列的,就都展示出来。 Id 为 1 和 3 的销售者,销售总金额都为最高的 2800。 解法1.子查询先找到最大值,然后查找等于最大值的数 select seller_id from ( select seller_id ,sum(price) as price from Sales group by seller_id having price = ( select max(price) from ( select sum
2021-11-18 22:51:57
450
原创 Mysql数据类型转换函数
常用的数据类型转换函数 函数 说明 convert() 有两个参数,第一个为转换内容,第二个为转换类型;如:convert(‘123’,unsigned integer); cast() 只有一个参数,参数格式:转换内容 AS 转换类型;如:cast(‘123’ as unsigned integer); ...
2021-11-08 22:28:51
1440
原创 连续性问题
力扣603. 连续空余座位 如题: 方法一:使用多表连接,选出连续值进行去重 select distinct c1.seat_id from cinema c1 join cinema c2 on abs(c1.seat_id - c2.seat_id) = 1 and c1.free = 1 and c2.free = 1 order by c1.seat_id 例子: 当c1=c2=1,2,3,4,5时, 当c1=1时,abs(c1.seat_id - c2.seat_id) = 1,c2只能取
2021-11-01 15:45:23
295
原创 窗口函数中的滑动窗口
对与需要求最近几个月的什么,需要用到滑动窗口 语法 rows between unbounded preceding and current row rows是物理窗口,即根据order by 子句排序后,取的前N行及后N行的数据计算(与当前行的值无关,只与排序后的行号相关) range是逻辑窗口,是指定当前行对应值的范围取值,列数不固定,只要行值在范围内,对应列都包含在内 unbounded:无界限 preceding:从分区第一行头开始,则为 unbounded。 N为:相对当前行向前的偏移量 fo
2021-10-27 20:23:53
2502
原创 中位数问题
1.对于普通的给一张表,求不同组的中位数 例如 牛客网sql76题,力扣sql569题 如题:请你写一个sql语句查询各个岗位分数的中位数位置上的所有grade信息,并且按id升序排序 思路一: 第一步:进行组内打排名,得到 ...
2021-10-20 22:09:38
661
原创 MySQL触发器
强制索引语法 select * from table_name [ force index( idx_name ) ] where 条件 // idx_name ,索引名称
2021-09-29 23:20:03
142
原创 pandas常用函数
1. 处理今天与昨天变化的函数 1.1 dataFrame.diff(periods=1, axis=0) — 后面的值减前面的值,不存在为nan periods:默认步长为1 axis:默认为列 1.2 df.pct_change(periods=1, fill_method=‘pad’, limit=None, freq=None, **kwargs) — 后面的值减去前面的值在除前面的值 periods:表示当前元素与先前n 个元素的相差百分比 2. 处理时间的函数 2.1 df.resamp
2021-09-29 19:34:03
279
原创 Pandas-函数
插值函数interpolate DataFrame.interpolate(method=‘linear’, axis=0, limit=None, inplace=False, limit_direction=None, limit_area=None, downcast=None, **kwargs) method : str,默认为‘linear’使用插值方法。 可用的插值方法: ‘linear’:忽略索引,线性等距插值。这是MultiIndexes支持的唯一方法。 ‘time’: 在以天或者更高频率
2021-09-21 23:58:45
236
原创 Pandas基础1
pandas pandas 里面最重要的三种数据类型Series、DataFrame、index 1.Series:一维数组 1.1创建一维数组 pandas.Series( data, index, dtype, name, copy) data:一组数据(ndarray 类型)。 index:数据索引标签,如果不指定,默认从 0 开始。 dtype:数据类型,默认会自己判断。 name:设置名称。 copy:拷贝数据,默认为 False。 ser1 = pd.Series(dat
2021-09-17 16:47:30
170
原创 Mysql常用的函数
group_concat(X,Y) 使用方式: x是要连接的字段,y是要连接的符号,可以不写,默认,,此函数必须搭配group by使用,将每个相同分组的,不同元素使用,连接起来 select stu_name,group_concat(test_score) from tb_student group by stu_name ...
2021-09-16 20:11:58
138
原创 NumPy-创建adarray
创建一维数组 import numpy as np # 方法一 df1 = np.array([1,2,3,4,5],dtype=int) # 方法二 df2 = np.random.randint(1,100,10) # 方法三 df3 = np.arange(1,20,2) # 方法四 通过linspace指定范围以及抽取量 df4 = np.linspace(-5,5,11) 创建二维数组 # 方法一 df1 = np.array([[1,2,3],[4,5,6],[7,8,9) # 方法二 将一维
2021-09-14 20:51:33
541
原创 MySQL创建表
创建表的三种方式 直接创建 create table if not exists 表名 将table1的部分拿来创建table2 create table if not exists table2 ( ...... ) select 列名,列名 from table1 -- CREATE TABLE 新表SELECT * FROM 旧表 -- 完整拷贝过来, 区别: 通过 as 创建出来的新表缺少源表的索引信息,只有表结构相同,没有索引。 通过 like 创建出来的新表包含源
2021-09-04 17:32:48
476
原创 Mysql-插入数据
Mysql插入数据的三种方式 insert into 表名(列名)values内容 注意: 这种插入数据,数据库会检查主键,如果出现重复会报错; replace into表名(列名)values内容 注意: 这种表示插入替换数据,表中有primarykey或者unique索引,如果数据库已存在,就用新数据替换,如果没有就和insert into一样; insert ignore into表名(列名)values内容 注意: 表示如果已存在相同的记录,则忽略当前新数据,相当于就不插入; ...
2021-09-02 22:57:47
257
原创 mysql查询语句
– 查询所有语句–查看所有列和行 select *from表名 – 查询指定列 select 列名,…, from 表名 – 别名 as 关键字 列名 as 别名 – 筛选 where – 当列表为1的列替换为男,否则为女 case stu_sex when 1 then ‘男’ else ‘女’ end as 性别 – between 条件1 and 条件2 – mysql方言函数if(),如果为真,男,否则女 if(stu_sex, ‘男’, ‘女’) as 性别 模糊查询 -- 通配符(wildca
2021-08-27 22:36:28
164
原创 mysql创建,插入表
– 展现表里面所有的内容 selectfrom tb_college; selectfrom tb_teacher; – 展现数据库 show databases; – 创建数据库 create database 数据库名称 default charset utf8mb4; – 删除数据库 drop database if exists 数据库名称; – 创建表 create table `tb_student` ( `stu_id` integer not null, `stu_name` varc
2021-08-25 19:52:52
213
原创 爬取图片,链接为base64编码的情况
今天爬取图片时遇到链接为,爬取链接时,用requests请求报错,不知道什么情况,原来是链接的问题,直接解码链接,就可以得到图片了 如上图所示:1、 它叫做data URI scheme,是一种网页优化的手段。让我们直接把图像的内容崁入网页里面,减少页面的请求。 2、浏览器并不会缓存这样的图片 3、data URI scheme 虽然节省 HTTP 请求,但是倘若这个图像要在网页多个地方显示的话,便会加大网页的内容,延长了下载的时间 4、其中一个解决办法是在一个 CSS class 中加入 data UR
2021-08-22 20:14:02
4278
原创 爬取豆瓣网短评
分析:爬取豆瓣网某电影短评,前10页不需要登录就能爬取,但是从第10页开始就需要登录才能获取数据。使用selenium模拟登录后,因为是静态网页,可以保存cookie,然后利用requests,添加cookie进行登录操作。也可以直接登录后赋值网页cookie添加到requests请求中,进行登录。 本来想直接使用requets的post传送表单,保存cookie,但是里面的ticke、randstr参数每次都会变,这个是滑动验证码后,会出现的东西,搞不懂是怎么生成的,所以没办法直接post登录 下面进入
2021-08-19 23:05:32
1624
原创 Python文件的读写以及操作excel
文件的读写操作 使用open函数打开文件 f = open(文件名,'读写操作') f.close() # 例如 open('root.txt','w') 2.常见的操作有 操作模式 具体含义 'r' 读取 (默认) 'w' 写入(会先截断之前的内容) 'x' 写入,如果文件已经存在会产生异常 'a' 追加,将内容写入到已有文件的末尾 'b' 二进制模式 't' 文本模式(默认) '+' 更新(既可以读又可以写) 文件的读操作 file.read() —&
2021-08-14 13:55:26
662
原创 Python基础入门Week3--函数与面向对象
函数 Martin Fowler先生曾经说过:“代码有很多种坏味道,重复是最坏的一种!”。 定义函数 通常情况下函数是下面的这种结构,其中def是关键字,函数名可以自己定义,与变量的命名一样。括号里面放传过来来的参数(自变量),return后面接函数的返回值。 注意: 任何一个函数都有返回值,如果函数没有return,返回值就是None,返回值可以是任意的数据类型 def 函数名(参数): return 函数的参数 默认参数 def 函数名(a,b=3): return 这里的b=3就是默认参数,如
2021-08-07 10:59:08
186
原创 Python基础入门Week2-常用的四种数据结构
列表list 列表是由一系元素按特定顺序构成的数据序列,是可变的数据类型,可进行增、删、改、查等操作 总结:有序,可变,可进行(增、删、改、查)操作 创建列表 list1 = [] list2 = list(range(1,10)) # 列表生成式 [ i for i in range(10)] 增 append() ----> 往列表末尾追加元素 list1 = [1,2,3,4,5,6] list1.append(7) # 结果 list1 = [1,2,3,4,5,6,7] # 向列表
2021-07-31 11:33:21
394
原创 Python基础入门-集合
集合set() 集合的三个特点: 无序性:元素没有顺序 确定性:给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现。 互异性:不存在重复元素,元素是唯一的 可变的数据类型 创建集合 # 创建空集合 set1 = set() print(set1) # 创建集合 set2 = {1,2,3,4,5,66} print(set2) # 将列表转换为集合 a=[1,1,2,3,4,5,5,24,2,4] set3 = set(a) print(set3) 运
2021-07-29 20:58:46
279
原创 Python基础入门-编码
编码 要点: 1.选择字符集编码的时候,最佳的选择(默认)是utf-8编码 2.编码和解码的字符要保持一致,否则会出现乱码的现象 3.不能使用ISO-8859-1编码保存中文,否则会出现编码黑洞,中文会变成 ’ ?’ 4.UTF-8是Unicode的一种实现方案,一种变长的编码,最少1个字节(英文和数字),最多四个四个字节(表情),表示中文用3个字节 例子: # gbk 一个中文对应两个字节 # utf-8 一个中文占三个字节 content4 = '我爱你中国love' b = content4.enco
2021-07-29 20:39:21
358
原创 Python基础入门
字符串 一. 字符串–不可变有序的数据类型,不可进行增删改等操作 二.常用操作 以下操作都以str1为例子 str1 = "oh,apple,i love apple" <1> find,rfind find:检查str是否包含在str1中,如果在,返回第一次开始的索引,否则返回-1 语法: rfind:与find相同,只是从右开始找 str1.find(str,start=0,end=len(str1)) 例子: str1 = "oh,apple,i love apple" print(s
2021-07-28 20:40:18
139
原创 Python随堂练习
杨辉三角 输入一个数N,返回N行 思路:依次创建n行列表,每行全都打印1,然后上一行两个相加的值,将1替换掉 n = int(input("想打印杨辉三角:")) nums = [] for i in range(1, n + 1): temp = [1 for _ in range(i)] # 创建i行列表,元素i个,都为1 for j in range(1, len(temp) - 1):# i = 3 开始循环 temp[j] = nums[i - 2][j-1] .
2021-07-27 23:37:00
165
原创 Python随堂练习
排序算法 简单选择排序 思路:从列表中,找到最小的值的下标,记录最小值的位置,与第一位互换;在从剩下列表中,找出最小值的下标,与第二位互换;… nums = [7,5,4,3,1,2,6,9,8,0] print(nums) for i in range(len(nums)): min_value = nums[i] # 存最小值 min_index = 0 # 存最小值的下标 for j in range(1,len(nums)): if nums[j] < min_value:
2021-07-26 23:40:02
437
3
原创 Week1学习总结
Week1学习总结 Python优缺点 解释性语言,可移植性,跨平台 面向对象编程 语法简洁,可读性高 开源,强大的生态圈 运行效率低 源码加密难 变量 什么是变量? 变量是数据的载体 变量的命名规则 变量以字母,数字,下划线命名,其中数字不能开头 变量区分大小写(S和s不是统一变量) 不能用Python的关键字(Python中一些特殊含义的单词)和保留字命名(Python中已使用的单词) 关键字如图所示: 建议使用规则 见名之意(看到变量名字,就代表它什么意思) 变量名使用全
2021-07-24 10:17:32
5640
2
原创 Python数据类型
Python数据类型 列表(list) 列表-容器型数据类型,有序,可变的 ,可进行(增、删、改、查)操作,可存储任意的数据类型 1.创建一个列表 lists = [] #创建一个空列表 2.向列表追加一个元素,append(value)方法 lists = [1,2,3,4] lists.append(5) #往列表末尾增加一个元素 3.向列表指定位置插入一个元素、insert(index,value)方法 lists = [1,2,3,4] lists.insert(0,5) #将列表加到指定下
2021-07-23 21:45:23
129
原创 Python基础入门day03
Python基础入门day03 while与for的基础练习 A、B、C、D、E 5 个人捕 ???? ,后疲惫不堪,睡第二天,A 第一个醒来,他将 ???? 平分为 5 份,把多余的一条扔回河中,然后拿走自己的一份 B 第二个醒来,但不知道 A 已经拿走了一份 ???? ,于是他将剩下的 ???? 平分为 5 份,扔掉多余的一条,然后只拿走了自己的一份,接着C、D、E依次醒来,也都按同样的办法分 ????,问这5人至少合伙捕到多少条 ???? fish = 1 #假设只有一条鱼 while True:
2021-07-22 22:55:35
471
2
原创 Python基础入门day02
Python基础入门day02 选择结构(分支结构) 单分支语法: if 条件 : pass # 占位符 多分支语法:(分支结构可以嵌套使用,但是一定要注意嵌套深度,注意代码可读性) if 条件 : pass # 占位符 elif: pass elif: pass else: pass 循环结构 for-in: 确定循环次数 range()函数:range(a,b,c)代表的是生成一个[a,b)左闭右开的一个序列,c代表步长。 for i in range(10):# range()生成一个从
2021-07-21 22:48:15
121
原创 Python基础入门day01
Python基础入门 Python的特点 解释型语言、可移植性、跨平台 面向对象 开源系统,强大的生态圈 语法简介,可读性高 Python的一些弱点 运行效率慢 源码加密困难:直接运行,加密困难 变量 变量–数据的载体 变量命名的规则 变量以字母、数字、下划线命名;不能使用特殊字符,数字不能开头 变量区分大小写(S和s不是同一变量) 不能用Python的关键字(Python中一些特殊含义的单词)和保留字命名(Python中已使用的单词) 建议使用规则 4.见名之意(看到变量名字,
2021-07-20 19:47:00
184
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅