![](https://img-blog.csdnimg.cn/9dfe62d61e604b47903c45b77a56fda4.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
python学习
python学习
白炎灵
又菜又爱玩儿
展开
-
python面试学习
(1)面向对象利用对象、类、封装、继承、多态等概念来组织和实现代码程序,对象是指有特定属性和行为的实体,同一类的对象可以共享属性和方法,类定义了对象的通用属性和方法,因此可以方便地创建新的对象。map的底层实现是通过迭代器来完成的。深拷贝会创建一个新的对象,该对象递归的复制其包含的所有对象,这意味着新对象和原始对象之间没有任何的关联,修改其中一个对象的值不会影响另一个对象。使用浅拷贝时,会创建一个新的对象,该对象和原对象共享内存中的一部分数据甚至是全部数据,所以修改其中一个对象的值会影响另一个对象。原创 2023-06-10 23:17:52 · 981 阅读 · 0 评论 -
如何将普通索引转化为日期索引
把普通索引转为日期索引原创 2022-08-20 12:01:18 · 1195 阅读 · 1 评论 -
python编程tips(持续更新)
一些小tips原创 2022-06-28 17:18:49 · 185 阅读 · 0 评论 -
《深度学习》学习笔记(十)
本篇博文主要介绍强化学习reforcement learning原创 2022-04-27 21:56:49 · 1017 阅读 · 0 评论 -
ARIMA模型来预测股票数据
ARIMA模型来预测股票收盘价原创 2022-04-27 21:05:52 · 6212 阅读 · 1 评论 -
相关系数热力图(python)
相关系数热力图原创 2022-04-23 22:32:45 · 7401 阅读 · 0 评论 -
解决qcut报错ValueError: Bin labels must be one fewer than the number of bin edges
qcut这个函数就挺迷的,今天运行之前的代码居然报错了,报错信息如下:ValueError: Bin labels must be one fewer than the number of bin edges原本的代码如下:pd.qcut(data,4,duplicates="drop")解决办法: pd.qcut(data.rank(method="first"),4)然后就欧克了。...原创 2022-04-16 20:14:18 · 2121 阅读 · 2 评论 -
画词云图(pyecharts和wordcloud)
本篇文章讲pyecharts和wordcloud两种方式画词云图,代码如下:因为pyecharts的输入数据类型是列表中嵌套元组:[('REX', 54), ('CASH+CARRY', 54), ('JUMBO', 824), ('SHOPPER', 147), ('BAG', 1951), ('VINTAGE', 1325), ('LEAF', 134), ('PEACE', 11), ('WOODEN', 507), ('BLOCK', 109)]所以先把字符串describe_documen原创 2022-04-16 19:58:12 · 1088 阅读 · 0 评论 -
判断是否为节假日
在时间序列分析中,是否为节假日经常会对数据分析结果造成很大的影响,python中有一个chinese_calender包可以判断指定的一天是否为节假日。import datetimefrom chinese_calendar import is_workday, is_holidaydd = datetime.date(2022,3,13)print(is_workday(dd))Falseprint(is_holiday(dd))Trueprint(is_workday(datetime.原创 2022-03-14 10:21:21 · 1648 阅读 · 0 评论 -
分类模型评估指标
文章目录混淆矩阵precision、recall、F1 score、supportAUC和ROC曲线KS曲线PSI群体稳定性指标混淆矩阵对于二分类问题,用0和1表示两种类别。TP:真实为1且预测正确的样本个数FN:真实为1但预测错误的样本个数FP:真实为0但预测错误的样本个数TN:真实为0且预测正确的样本个数可以直接用sklearn库得到混淆矩阵,下面是之前数模写的代码(数据不在了,就只有运行结果)from sklearn import metricsprint("Confusion m原创 2022-02-23 17:42:42 · 2041 阅读 · 2 评论 -
matplotlib画三维散点图和曲面图
本篇博文主要来介绍如何利用matplotlib库画三维散点图和曲面图。三维散点图numpy的random.rand(d0,d1,d2…)函数根据维度生成服从0~1均匀分布的随机样本点;x、y、z均为一维数组# -*- coding: utf-8 -*-import matplotlib.pyplot as pltimport numpy as npdef randrange(n, vmin, vmax): return (vmax - vmin)*np.random.rand(n)原创 2022-02-12 22:01:55 · 4656 阅读 · 0 评论 -
to_csv函数导出文件内容为乱码
最近在存储数据的时候,导出的csv文件内容为乱码,在to_csv函数里面加上encoding="utf-8"后导出的文件数据仍为乱码。解决办法:df.to_csv("路径+文件名", encoding='utf_8_sig')关于文件内容乱码其实是比较常见的,大家在遇到问题的时候,可以各种编码都尝试尝试。...原创 2022-02-07 14:51:37 · 3343 阅读 · 0 评论 -
数数字Digit Counting(Python)
把前n(n<=10000)个整数顺次写在一起:123456789101112…数一数0~9各出现多少次(输出10个整数,分别是0, 1, …, 9出现的次数)。思路:这道题就是统计频数的,首先想到的就是利用字典法一:num = input()l = []for i in num: l.append(i)countDict = dict()for j in set(l): countDict[j] = l.count(j)print(countDict)法二:(原创 2022-01-23 23:05:46 · 977 阅读 · 0 评论 -
周期串(Python)
如果一个字符串可以由某个长度为k的字符串重复多次得到,我们说该串以k为周期。例如abcabcabcabc以3为周期(当然他也以6,12为周期)。输入一个长度不超过100000的串,输出他的最小周期。tips:最小周期一定是字符串长度的约数从最小周期的下一个位置开始,跟前面的周期串要一一对应相等mystr = input()m_len = len(mystr)for i in range(1,m_len): if m_len%i==0: flag = 1原创 2022-01-23 22:46:23 · 503 阅读 · 0 评论 -
统计得分(Python)
给出一个由O和X组成的串,统计得分,每个O得分为目前连续出现的O的个数,X的得分为0。例如OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3。解题思路:字符串遇到“X”则拆分循环遍历拆分后的每个part直接len即为得分str = "OOXXOXXOOO"str1 = str.split(sep="X")score = 0for i in str1: score = score + len(i)print(score)...原创 2022-01-23 21:31:36 · 2348 阅读 · 5 评论 -
基础练习part
蓝桥杯基础练习部分原创 2022-01-16 10:10:42 · 284 阅读 · 0 评论 -
找整数在数列中的位置
给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。法一:(得分是90,有一条测评没有通过)n = int(input())li = list(map(int,input().split()))a = int(input())j = 0for i in li: j += 1 if i==a: print(j)if j==0: print(-1)法二:利用字符串中的index函数n = int(input())li = list(m原创 2022-01-15 21:45:05 · 181 阅读 · 0 评论 -
判断是否为回文数(字符串倒序)
关于判断回文数这一块,把数字转化为字符串会比较好判断一些。回文数即正读倒读都一样的整数。法一:关于字符串倒序的part,这里运用的是**[::-1]**n = int(input())s = str(n)if s==s[::-1]: print("是回文数")法二:n = int(input())s = str(n)f = Truefor i in range(len(s)//2): if s[i] != s[-1-i]: f = Falseprint原创 2022-01-15 21:15:55 · 182 阅读 · 0 评论 -
求各数位上的数字之和(python)
求各数位上的数字之和法一:def func(num): sum = 0 while num!=0: n = num%10 sum += n num = num//10 return sumprint(func(12345))法二:def func(num): a = str(num) b = 0 for i in a: b+=int(i) return bprint(func原创 2022-01-15 21:02:45 · 8399 阅读 · 0 评论 -
round和format的区别
round和format两个函数都可以用于对数值进行四舍五入>>> r = int(input())34>>> PI = 3.1415926358979323>>> s = PI*r*r>>> s1 = round(s,7)>>> s2 = "{:.7f}".format(s)>>>> s13631.6810871>>> s2'3631.6810871'&原创 2022-01-14 16:37:35 · 788 阅读 · 0 评论 -
python进制转换
文章目录oct函数int函数hex函数bin函数python有一些内置函数,可以实现不同进制的转换。oct函数根据官方文档的解释,oct()函数可以将十进制的整数转为八进制数。>>> help(oct)Help on built-in function oct in module builtins:oct(number, /) Return the octal representation of an integer. >>> oct(3原创 2022-01-13 15:50:53 · 334 阅读 · 0 评论 -
Python输入和输出
最近学数据结构与算法的时候,发现自己的python基础真的不牢固,不得已只能狂补代码基础,本篇博文主要是关于Python输入和输出函数的。(IDLE界面是真的丑)>>> n = input()34>>> n'34'>>> type(n)<class 'str'>可以看到,input函数的默认输入是字符串格式,所以如果希望输入整型数字的话,直接在input前面加上int函数即可;input函数内加字符串即为输入时的提示信息。&原创 2022-01-12 16:49:44 · 476 阅读 · 0 评论 -
python 笔记--同时输入两个数字
1.同时输入两个整数:>>> a,b=map(int,input().split())10 20>>> a+b302.输入两个字符串:>>> a,b=input().split()10 20>>> a+b'1020'3.使用eval()函数>>> a,b=eval(input())10,20>&g...转载 2022-01-09 20:50:01 · 8050 阅读 · 1 评论 -
深入理解shortcut
概述 shortcut(或shortpath,中文“直连”或“捷径”)是CNN模型发展中出现的一种非常有效的结构,本文将从Highway networks到ResNet再到DenseNet概述shortcut的发展。 前言 自2012年Alex Krizhevsky利用深度卷积神经网络(CNN)(AlexNet )取得ImageNet比赛冠军起,CNN在计算机视觉方面的应用引起了大家广泛地讨...转载 2022-01-09 18:58:23 · 3740 阅读 · 0 评论 -
Pytorch基础(三)
文章目录多层感知机的简洁实现多项式拟合多层感知机的简洁实现# -*- coding: utf-8 -*-import torchfrom torch import nnfrom d2l import torch as d2lnet = nn.Sequential(nn.Flatten(), nn.Linear(784, 256), nn.ReLU(), nn.Linear(原创 2021-11-29 21:07:18 · 689 阅读 · 0 评论 -
《NLP with Python》学习笔记(二)
性别鉴定# -*- coding: utf-8 -*-import nltkfrom nltk.corpus import namesimport randomdef gender_features(word): return {"last_letter": word[-1]}names = ([(name, "male") for name in names.words("male.txt")] + [(name, "female") for name in n原创 2021-11-24 22:29:51 · 619 阅读 · 0 评论 -
PyTorch基础(二)
文章目录线性回归的简洁实现线性回归的具体实现不同优化算法的比较代码总结数据集模型定义优化迭代训练线性回归的简洁实现# -*- coding: utf-8 -*-import numpy as npimport torchfrom torch.utils import datafrom d2l import torch as d2lfrom torch import nntrue_w = torch.tensor([2, -3.4])true_b = 4.2features, label原创 2021-11-23 14:50:09 · 1269 阅读 · 0 评论 -
PyTorch基础(一)
文章目录数据操作创建数据数据运算降维求和非降维求和点积矩阵-向量积矩阵-矩阵乘法索引和切片转换数据类型微分自动求导无论哪个深度学习框架,它的张量类(PyTorch中为Tensor)都和Numpy的ndarray类似,接下来介绍的很多函数名和Numpy中的都一样,不过会比Numpy的ndarray多一些重要功能,比如张量类支持自动微分。数据操作创建数据import torch#默认创建为浮点数x = torch.arange(12)#访问张量的形状(沿每个轴的长度)x.shape#改变形状原创 2021-11-22 23:24:14 · 4106 阅读 · 2 评论 -
Pytorch之requires_grad
requires_grad是Pytorch中通用数据结构Tensor的一个属性,用于说明当前量是否需要在计算中保留对应的梯度信息,以线性回归为例,容易知道权重w和偏差b为需要训练的对象,为了得到最合适的参数值,我们需要设置一个相关的损失函数,根据梯度回传的思路进行训练。 官方文档中的说明如下 If there’s a singl...转载 2021-11-20 14:58:39 · 1993 阅读 · 0 评论 -
《NLP with Python》学习笔记(一)
文章目录绘制带条件的频率分布表评估词汇多样性分词自定义函数实现分词使用模拟退火算法的非确定搜索常用的基础函数绘制带条件的频率分布表#布朗语料库import nltkfrom nltk.corpus import brownbrown.categories()#带条件的频率分布函数cfd = nltk.ConditionalFreqDist( (genre,word) for genre in brown.categories() for word in brown.wo原创 2021-11-18 21:17:20 · 1360 阅读 · 0 评论 -
利用Basemap画世界地图
最近帮物理海洋专业的同学画图,发给我的数据文件是nc文件,里面是动力高度网格数据,需要任选一点在地图上标注,且画出该点的时间序列。NetCDF(network Common Data Form)网络通用数据格式是一种面向数组型并适于网络共享的数据的描述和编码标准。目前,NetCDF广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。用户可以借助多种方式方便地管理和操作 NetCDF 数据集。NetCDF存储的数据是一个多自变量的函数,即f(x,y,z…)=value, 函数的自变量x、y、原创 2021-10-27 19:47:33 · 1272 阅读 · 6 评论 -
如何解决安装basemap出现的问题
今天在看到一篇用Python画一个中国地图的推文(原文地址:https://segmentfault.com/a/1190000010871928)。然而在进行一些库的安装时出现了问题。首先使用Anaconda安装geos库:直接使用pip install geos接着需要安装basemap,这里我没有使用文章的方法,从github的setup.py文件来安装,我还是用Anaconda的pip...转载 2021-10-25 22:05:26 · 633 阅读 · 0 评论 -
关于异常(python)
try/except捕捉由python或你的代码引起的异常并从中恢复try/finally无论异常是否发生,执行清理行为raise手动在代码中触发异常assert有条件地在程序代码中触发异常在python中,所有的错误都是异常,但并非所有的异常都是错误。参考资料:Python学习手册(原书第五版下)...原创 2021-07-02 19:44:24 · 64 阅读 · 2 评论 -
数据清洗与准备
主要介绍数据处理过程中,常用到的几个函数。查看存在缺失值的特征#计算特征缺失值个数na_counts = data.isnull.sum()#按缺失值个数降序输出特征missing_values = na_counts[na_counts > 0].sort_values(ascending=False)缺失值过滤#默认情况下会删除包含缺失值的行data.dropn...原创 2020-03-27 10:13:13 · 224 阅读 · 0 评论 -
数据聚合和分组操作
在数据分析中,经常需要对数据集进行分类,并在每一组上应用一个聚合函数或转换函数,pandas提供一个灵活的groupby接口,可以方便得进行数据聚合和分组操作。(函数的解释在代码块内部)GroupBy机制之前在学习R的时候,已经接触过拆分-应用-联合,原理是差不多的。下面结合例子来学习groupby。import numpy as npimport pandas as pd#生成da...原创 2020-03-16 15:27:42 · 812 阅读 · 0 评论 -
pandas中的向量化字符串函数
本篇博文主要介绍pandas中几个常用的字符串处理的函数。原数据如下:import pandas as pdimport numpy as npimport redata = {"Beryl":"Beryl@google.com", "Tom":"Tom@gmail.com", "Lily":"Lily@gmail.com", "Mew":np.nan}data = ...原创 2020-03-16 13:48:55 · 697 阅读 · 0 评论 -
pymysql学习
我们可以利用python的pymysql对MySQL数据库进行操作,本篇博文主要介绍如何使用pymysql从数据库中读取数据。步骤如下:1.创建connection对象2.创建cursor对象3.使用cursor.execute对数据库进行操作4.关闭cursor5.关闭connection代码如下:import pymysql#创建connectionconnection ...原创 2020-03-09 17:58:29 · 246 阅读 · 0 评论 -
info函数与describe函数
info()函数与describe()函数一,info()函数功能: 给出样本数据的相关信息概览 :行数,列数,列索引,列非空值个数,列类型,内存占用使用格式:dat...转载 2020-03-05 10:06:34 · 4625 阅读 · 1 评论 -
pandas(五)索引对象
这篇博文主要介绍索引对象。文章目录Index对象一级索引对象创建索引对象重建索引MultiIndex对象创建多级索引对象多级索引行列转换多级索引数据存取Index对象一级索引对象从Series对象中获得Index对象:data = { "apples":2, "bananas":4, "oranges":9}s = pd.Series(data)ss.in...原创 2019-11-08 15:52:44 · 317 阅读 · 0 评论 -
pandas(四) Series和DataFrame
上篇博文已经介绍了如何创建DataFrame,这篇博文主要来介绍如何访问DataFrame中的行和列以及增、删的相关操作。文章目录访问列单个标签下标访问多个标签下标访问访问行通过位置切片访问行通过标签切片访问行通过布尔数组访问行通过query方法访问行通过head和tail方法访问行使用存取器使用存取器loc[]和iloc[]使用存取器at[]和iat[]增删行的增加行的删除列的增加列的删除更改...原创 2019-11-07 16:10:38 · 174 阅读 · 0 评论