python
cc抱富
天下熙熙,皆为利来;天下攘攘,皆为利往
展开
-
PYTHON中join的使用方法,应用于改变DataFrame某列的格式
PYTHON中join的使用方法:将序列中的元素以指定的字符连接生成一个新的字符串。可连接的序列包括:字符串,列表,集合,元祖,字典应用:对于DataFrame,取出某列后,利用apply函数分别对每行进行join1、连接的序列为列表如name列目前为列表方式存储,需要将每个列表中的名字使用空格间隔开,而不是逗号df1=pd.DataFrame({'sex':list('FFMFMMF'),'smoker':list('YNYYNYY'),'name':[["zho","ds"],["def","原创 2020-12-08 20:30:24 · 630 阅读 · 1 评论 -
python在列表和集合中查找数据的区别(时间复杂度)
列表数据有序,可重复,查找某个元素方式为逐个遍历;时间复杂度为列表的长度,即从第一个元素遍历到最后一个元素为止,O(len(list))集合数据无序,不可重复,查找某个元素方式为哈希。即某个元素通过哈希计算,他的位置永远固定(顺序却不按输入元素顺序,解释了为什么集合无序),查询时通过哈希即可一次找到该元素。时间复杂度为O(1)总结,对于大量数据,集合效率极高#1、创建空表方式a=list()b=set()#2、查找某个元素list1=['haha','heihei','neinei.原创 2020-11-01 18:59:44 · 3252 阅读 · 0 评论 -
Python enumerate() 函数用于for循环
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python 2.3. 以上版本可用,2.6 添加 start 参数。遍历列表,并得到索引,索引值从0开始x=['d','e','f']for i,j in enumerate(x): print(i,j)结果0 d1 e2 f配合笛卡尔积使用for循环,相当于双层for循环笛卡尔积用于遍历很好用a=['g','h']b=[原创 2020-07-15 16:52:32 · 1045 阅读 · 0 评论 -
Python3.6及以后版本,格式化输出使用f‘a与b的和为{a+b}‘
int计算a=1b=2print(f'A+B={a+b}')结果A+B=3字符串显示name='xiaoming'print(f"他的名字是:{name}")结果他的名字是:xiaoming说明:{}内的会进行格式化输出,无论是int计算,还是字符串格式显示。相对于“{} {}”.format(“hello”, “world”)方式更加简化...原创 2020-07-15 16:02:31 · 1001 阅读 · 0 评论 -
numpy数组如何通过逻辑判断(不相关的数组)取出目标元素,举例X=X[y!=0]
前提:是数组,即查询的type结果为numpy.ndarray。列表不行X和y赋值,X的行数需要同y元素个数相同X = np.arange(0,32).reshape(8,4)print(type(X))print(X)y=np.arange(0,8)print(y)结果<class 'numpy.ndarray'>[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15] [16 17 18 19] [20 2原创 2020-07-07 19:06:07 · 796 阅读 · 0 评论 -
详细说明如何在pycharm不联网的情况下,离线安装第三方库及依赖包(如sklearn)
单独原创 2020-07-04 10:42:03 · 19677 阅读 · 7 评论 -
numpy------数组的拼接concatenate
np.concatenate((a1,a2,…), axis=0)对于axis=0我自己方便记忆的理解,按照x轴拼接的意思是,x轴的刻度不变,那么在下方拼接就保证x轴刻度不变对于axis=1,按照y轴拼接,即y轴刻度不变,那么在右方拼接即可a=np.array([[1,2],[3,4]])b=np.array([[5,6],[7,8]])print(np.concatenate((a,b),axis=0))print(np.concatenate((a,b),axis=1))...原创 2020-06-30 18:35:17 · 187 阅读 · 0 评论 -
python-------找出数据中交集元素的方法x.intersection(y, z ... )
intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。x.intersection(y, z … )应用:不同维度优秀结果的交集,优秀中的优秀。(语文好数学也好的同学)x = {"apple", "banana", "cherry"}y = {"google", "runoob", "apple"} z = x.intersection(y) print(z)...原创 2020-06-22 16:41:06 · 1690 阅读 · 0 评论 -
python基础--导入模块方法及文件的基础操作
一、模块&包#pack为一个包(一个文件夹),first为其中的一个.py文件#导入包内模块import pack.first#导入包内模块并设置别名import pack.first as one#from导入包名,import导入模块from pack import first#from包名.模块名 import 功能代码,需保证当前模块没有导入模块的功能代码from...原创 2020-04-06 23:46:36 · 433 阅读 · 0 评论 -
python基础--捕获异常
作业1:不在同一路径的py如何导入作业2:查这个代码的意思是if name == “main”1、编辑器报错bug:编辑器报错、逻辑性bug认为某些代码会出错时,用try运行该代码,若出错,后续代码不会被执行,直接跳转到except语句块try: r = 10/0except ZerodivisionError as e: print('except:',e)else: ...原创 2020-04-05 16:08:09 · 141 阅读 · 0 评论 -
python基础--面向对象知识点概述
1、类、对象的概念类:事和物的一个分类,只是概念(比如飞机图纸)对象:具体到某一个事或物(我开过的那架飞机就是对象)2、类定义类,使用class类里面有属性(特征)和方法(行为)类名首字母必须大写class Teacher(object): #定义一个属性,如国籍 country = 'China' #方法,行为 def talk(self): ...原创 2020-04-05 15:07:26 · 137 阅读 · 0 评论 -
Python类属性、类方法与对象属性、对象方法的互相访问权限总结
类/对象的属性及方法访问权限总结:类属性:类可以访问类属性类可以修改类属性对象也可以访问类属性对象不能修改类属性(因为修改时相当于动态添加对象属性);对象属性:类不能访问对象属性对象可以访问对象属性对象可以修改对象属性...原创 2020-04-05 14:06:19 · 2254 阅读 · 3 评论 -
Python format 格式化函数
转菜鸟教程https://www.runoob.com/python/att-string-format.html格式化字符串的函数 str.format()基本语法是通过 {} 和 : 来代替以前的 %1、不限制参数“{} {}”.format(“hello”, “world”) # 不设置指定位置,按默认顺序‘hello world’“{0} {1}”.forma...转载 2020-03-29 16:14:01 · 132 阅读 · 0 评论 -
Pandas学习笔记---基础series
一、series对象1、类似一维数组可自定义索引index 参数是可省略的,你可以选择不输入这个参数。如果不带 index 参数,Pandas 会自动用默认 index 进行索引,类似数组,索引值是 [0, …, len(data) - 1]import pandas as pdfrom pandas import Series,DataFrameimport numpy as np...原创 2020-01-07 17:15:29 · 424 阅读 · 0 评论 -
numpy学习笔记---数组创建、属性、、数组形状、数组切片、数组基础计算
Numpy特点,N维数组对象ndarray。是一系列同类型数据的集合。1、创建一维数组import numpy as nplist=[1,2,3,4]array=np.array(list)print(type(array))print(array)<class ‘numpy.ndarray’>[1 2 3 4]创建数组的几种形式:直接传入列表list=...原创 2019-12-08 17:55:48 · 605 阅读 · 0 评论 -
numpy学习笔记---nan的判断及替换方式;基于numpy中数组元素的切片原数组随之改变(浅拷贝/深拷贝)
使用numpy对nan数据处理;numpy浅拷贝和深拷贝演示原创 2019-12-08 17:25:26 · 1213 阅读 · 0 评论 -
mysql之使用python连接数据库
import pymysql# 链接数据库#1.数据库对象connconn=pymysql.connect(host='localhost',user='root',passwd='1234567',db='caicai',port=3306,charset='utf8')# cursor返回一个游标实例对象,其中包含了很多操作数据的方法,比如执行sql语句。#2.执行sql (pyt...原创 2019-12-03 23:43:12 · 147 阅读 · 0 评论 -
初识Matplotlib--python2D绘图库,刻度颜色等。分为折线图、散点图、条形图、饼图等
1、导入库在cmd里执行pip install matplotlib2、折线图# 导入模块import matplotlib.pyplot as plt# 在jupyter中执行的时候显示图片(其他不用写)%matplotlib inline # 传入x和y, 通过plot画图plt.plot([1, 0, 9], [4, 5, 6])# 在执行程序的时候展示图形plt.sh...原创 2019-11-09 15:59:54 · 619 阅读 · 0 评论 -
random()随机数与round()四舍五入简介,np.random的区别
random()函数1、random.random()random.random()方法返回一个随机数,其在0至1的范围之内import randoma=random.random()print(a)结果0.44996190861920342、random.uniform()在指定范围内生成随机数注意此处结果依旧是浮点数float,其有两个参数,一个是范围上限,一个是范围下...原创 2019-11-08 17:55:37 · 3650 阅读 · 0 评论 -
列表生成式的理解
目的:快速生成一个列表1、for循环执行前面的语句,次数为for后的计数x = range(1,8)y = [i for i in x]print(y)拆解上述代码,先执行for i in x,取出x的第一个值1,赋值给i,然后执行for前的代码,只有一个i,那么就直接输出当前i的值,即1为列表的第一个元素。再次执行for,取出x的第二个值2,赋值给i,然后执行for前的代码,只有一...原创 2019-11-05 23:33:48 · 334 阅读 · 0 评论