
python
天问_z
算法工程师
展开
-
pip安装太慢,使用各种镜像源
pip 安装第三方库速度太慢可设置 pip 从国内的镜像源下载安装阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣 http://pypi.douban.com/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/原创 2022-12-09 10:45:43 · 950 阅读 · 0 评论 -
Pandas使用apply函数给表格添加多列_20
import numpy as npimport pandas as pd"""本节主要介绍如何使用apply函数给表格添加多列"""# 导入csvpath = './test.csv'df = pd.read_csv(path)# df.apply方法添加一列# 定义一个函数,返回一列def get_wendu_type(x): if x['bWendu'] > 33: return '高温' elif x['bWendu'] < -原创 2022-04-18 23:51:23 · 1697 阅读 · 0 评论 -
Pandas使用stack和pivot实现数据透视_19
import numpy as npimport pandas as pd"""本节主要介绍pandas使用stack和pivot实现数据透视目的:将列式数据变成二维交叉形式,便于分析,叫做重塑或透视1.经过统计得到多维度指标数据2.使用unstack实现数据的二维透视3.使用pivot实现简化透视4.stack、unstack、pivot的语法"""# 一、经过统计得到多维度指标数据"""非常场景的统计场景,指定多个维度,计算聚合后的指标实例:统计得到电影评分数据集,...原创 2022-04-18 23:50:27 · 251 阅读 · 0 评论 -
Pandas中如何对每个分组应用apply函数_18
import pandas as pdimport numpy as np"""本节主要介绍pandas怎样对每个分组应用apply函数groupby.apply(function)1.function的第一个参数是dataframe2.function的返回结果,可以是dataframe、series、单个值,甚至可以是和dataframe输入完全没关系本节展示:1.怎样对数值列按分组的归一化2.怎样取每个分组的topn数据"""# 一.怎样对数值列按分组的归一化rati.原创 2022-04-18 23:47:53 · 752 阅读 · 0 评论 -
Pandas中的数据转换函数map、apply、applymap_17
import pandas as pdimport numpy as np"""本节主要介绍pandas中的数据转换函数map、apply、applymap1.map:只用于series,实现每个值->每个值的映射2.apply:用于series实现每个值的处理,用于dataframe实现每个轴的series处理3.applymap:只用于dataframe,用于处理该dataframe的每个元素"""# 一、map用于Series值的转换"""实例:将股票代码英文转换为中文原创 2022-04-18 23:46:14 · 331 阅读 · 0 评论 -
Pandas如何使用分层索引MultiLndex_16
import numpy as npimport pandas as pd"""本节主要介绍pandas的分层索引MultiLndex"""stocks = pd.read_excel('./stock.xlsx')print(stocks.shape)print(stocks.head(3))# 对公司去重print(stocks['公司'].unique())print(stocks.index)print(stocks.groupby('公司')['收盘'].mean()).原创 2022-04-18 23:44:32 · 333 阅读 · 0 评论 -
Pandas中如何实现groupby分组统计_15
import numpy as npimport pandas as pd"""本节主要介绍pandas怎样实现groupby分组统计1.分组使用聚合函数做数据统计2.遍历groupby的结果理解执行流程3.实例分组探索天气数据"""df = pd.DataFrame({ 'A':['foo','bar','foo','bar','foo','bar','foo','foo'], 'B':['one','one','two','three','two','two','one原创 2022-04-18 23:43:06 · 697 阅读 · 0 评论 -
Pandas中如何批量拆分excel以及合并excel_14
import numpy as npimport pandas as pdimport os"""本节主要介绍使用pandas批量拆分excel和合并excel"""work_dir = './excel_split_merge'split_dir = f'{work_dir}/splits'if not os.path.exists(split_dir): os.mkdir(split_dir)# 0.读取源excel到pandasdf_source = pd.read_原创 2022-04-18 23:41:38 · 1082 阅读 · 0 评论 -
Pandas中的concat语法_13
import numpy as npimport pandas as pd"""本节主要介绍pandas中的merge语法使用的是知名的电影数据集,ratings.dat,users.dat,movies.dat"""df_rating = pd.read_csv( './rating.dat', sep='::', engine='python', names='UserID::MovieID::Rating::Timestamp'.split('::').原创 2022-04-18 23:40:01 · 145 阅读 · 0 评论 -
Pandas中的merge语法_12
import numpy as npimport pandas as pd"""本节主要介绍pandas中的merge语法使用的是知名的电影数据集,ratings.dat,users.dat,movies.dat"""df_rating = pd.read_csv( './rating.dat', sep='::', engine='python', names='UserID::MovieID::Rating::Timestamp'.split('::').原创 2022-04-18 23:38:42 · 380 阅读 · 0 评论 -
Pandas中的索引使用方法_11
import numpy as npimport pandas as pd"""本节主要介绍pandas中的indexindex的用途总结1.更方便的数据查询2.使用index可以获得性能提升3.自动的数据对其功能4.更多更强大的数据结构支持"""path = './test.csv'df = pd.read_csv(path)df.count()# 1.数据查询df.set_index('userid',inplace=True,drop=False) # drop=f原创 2022-04-18 23:08:06 · 322 阅读 · 0 评论 -
Pandas中对axis参数的理解_10
import numpy as npimport pandas as pd"""本节主要介绍pandas所使用的axis参数"""df = pd.DataFrame(np.arange(12).reshape(3,4),columns=['A','B','C','D'])#print(df)# 单列drop,删除某一列df.drop('A',axis=1)#print(df)# 单行删除,删除某一行df.drop(1,axis=0)#print(df)# 按照axis=.原创 2022-04-17 22:23:56 · 429 阅读 · 0 评论 -
Pandas对字符串的处理方法_9
import numpy as npimport pandas as pd"""本节主要介绍pandas对字符串的处理"""# 导入数据path = './test.csv'df = pd.read_csv(path)# 1.获取series的str属性,使用各种字符串处理函数(注意只能在string数据类型的列上调用str属性)str_1 = df['api'].str# 字符串替换函数str_2 = df['bwedu'].str.replace('C','')# 判断是.原创 2022-04-17 22:10:22 · 423 阅读 · 0 评论 -
Pandas对Series和Dataframe进行排序的方法_8
import numpy as npimport pandas as pd"""本节主要介绍series和dataframe的排序"""path = './test.csv'df = pd.read_csv(path)# 先修改温度值,去掉C并改为整数df.loc[:,'bWendu'] = df['bWendu'].astype(str).str.replace('C','').astype('int32')df.loc[:,'yWendu'] = df['yWendu'].as.原创 2022-04-17 22:06:20 · 358 阅读 · 0 评论 -
Pandas中settingwithopywarrning的报警复现,原因,解决方案_7
import pandas as pdimport numpy as np"""本节主要介绍settingwithopywarrning的报警复现,原因,解决方案"""# 导入csvpath = './test.csv'df = pd.read_csv(path)# 1.直接赋值# 先修改温度值,去掉C并改为整数df.loc[:,'bWendu'] = df['bWendu'].astype(str).str.replace('C','').astype('int32')df.lo原创 2022-04-17 21:55:35 · 314 阅读 · 0 评论 -
Pandas如何进行缺失值处理_6
import pandas as pdimport numpy as np"""本节主要介绍使用pandas进行缺失值处理"""path = './test.xlsx'df = pd.read_excel(path,skiprows=2) # skiprows=2代表的含义是越过两个空行# 将温度C去点,并转换为整数df.loc[:,'bwendu'] = df['bwendu'].astype(str).str.replace('C','').astype('int32')d.原创 2022-04-17 21:39:59 · 328 阅读 · 0 评论 -
Pandas的三种数据统计函数_5
import pandas as pdimport numpy as np"""1.汇总类统计2.唯一去重和按值计算3.相关系数和协方差"""path = './test.csv'df = pd.read_csv(path)# 去除温度的C符号,并转为整数df.loc[:,'bwendu'] = df['bwendu'].astype(str).str.repalce('C','').astype('int32')df.loc[:,'ywendu'] = df['ywendu原创 2022-04-17 21:23:34 · 292 阅读 · 0 评论 -
Pandas如何新增数据列的四种方法_4
"""pandas如何新增数据列1.直接赋值2.df.apply方法3.df.assign方法4.按条件选择分组分别赋值"""import pandas as pdimport numpy as np# 导入csvpath = './test.csv'df = pd.read_csv(path)# 1.直接赋值# 先修改温度值,去掉C并改为整数df.loc[:,'bWendu'] = df['bWendu'].astype(str).str.replace('C','').a原创 2022-04-17 21:21:57 · 2294 阅读 · 0 评论 -
Pandas查询数据的四种方式以及使用df.loc查询数据的五种方法_3
import numpy as npimport pandas as pd"""pandas查询数据的几种方法1.df.loc,根据行列标签值进行查询2.df.iloc,根据行列的数字位置进行查询3.df.where4.df.query*:.loc既能查询,又能覆盖写入pandas使用df.loc查询数据的方法1.使用单个label值进行查询2.使用值列表进行批量查询3.使用数值区间进行范围查询4.使用条件表达式进行查询5.使用函数进行查询注意:1.以上查询方法既适用于行原创 2022-04-17 21:20:57 · 6145 阅读 · 0 评论 -
Pandas中的Dataframe和Series两种数据结构_2
import numpy as npimport pandas as pd"""本节介绍pandas中的dataframe和series两种数据结构"""# 创建没有标签索引的seriesseries_1 = pd.Series([1, 2, 3, 'a'])# print(series_s)# 获取索引series_index = series_1.index# 获取数据series_values = series_1.values# 创建有标签索引的seriesserie原创 2022-04-17 21:17:48 · 481 阅读 · 0 评论 -
记录一次使用json.dumps出现了错误TypeError: Object of type UndefinedTable is not JSON serializable
网上查了很多原因,而这个问题是因为使用json.dumps()函数时,dumps是将dict数据转化为str数据,但是dict数据中包含byte数据所以会报错处理方法主要就下面这几种:1.编写一个类# -*- coding:utf-8 -*-# !/usr/bin/env python3# -*- coding: utf-8 -*-import jsonclass MyEncoder(json.JSONEncoder): def default(self, obj):原创 2022-03-03 21:17:03 · 1075 阅读 · 0 评论 -
个人学习笔记(熟悉python中的模块BeautifulSoup,常用方法介绍)
from bs4 import BeautifulSoupimport requestsimport re"""先总结,后分析总结如下:1.推荐使用lxml解析器,必要时使用html.parser2.推荐使用find()或者find_all()查询匹配单个结果或者多个结果3.如果熟悉CSS选择器,可以使用select()方法进行选择"""# 定义urlurl="https://item.jd.com/10038899648257.html"# 定义头部信息(通过F12或者右键检原创 2022-01-15 17:47:12 · 276 阅读 · 0 评论 -
个人笔记:爬虫的惯用流程
# 爬虫最佳流程# 导入模块import requestsimport re# 定义urlurl="https://item.jd.com/10038899648257.html"# 定义头部信息(通过F12或者右键检查获取,刷新)headers= {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safa原创 2022-01-12 22:02:36 · 189 阅读 · 0 评论 -
个人记录:使用python爬虫的通用流程(持续更新)
import sysfrom bs4 import BeautifulSoup # 网页解析,获取数据import re # 正则表达式,进行文字匹配import urllib # 制定url,获取网页数据import urllib.requestimport xlwt # 进行excel操作import sqlite3 # 进行数据库操作def main(): # 爬取网页 # 解析数据 # 保存数据 baseurl = "https://mov原创 2022-01-09 15:55:15 · 382 阅读 · 0 评论 -
取消数字字符串输出到csv时科学计数法
对于长的数字字符串如果不经过处理,导入到csv时将会以科学计数法进行存储,处理方法就是在每个字符串后面 +"\t"即可。下面是我处理数据库select结果导出到csv定义的函数。def to_csv(res, title, header): """ 将获取的数据输出到csv :param res:执行sql,res=cursor.fetchall()输出的结果 :param title:输出的文件名 :param header:csv中包含的字段名 :re原创 2021-12-19 12:12:59 · 2303 阅读 · 0 评论 -
python里面执行sh命令
import osneo4j_data_file_path = "/opt/script"os.system('rm -rf %s' % neo4j_data_file_path)os.system('mkdir %s' % neo4j_data_file_path)原创 2021-12-19 11:36:58 · 3052 阅读 · 0 评论 -
解决python拼接字符串时包含双引号的问题
解决办法:通过添加多个转义字符进行拼接neo4j_yj = "./neo4j-admin import " + neo4j_yj_jd + neo4j_yj_gx + "--delimiter " + "\\" + "\"|" + "\\\"" + "----ignore-missing"原创 2021-12-19 11:33:04 · 1665 阅读 · 0 评论 -
python脚本调用python脚本和shell脚本并传参,接收参数并转成传参时的数据类型
1.总调度python脚本dd.pyimport osa=1 #整数b=(1,‘2’) #元组c=‘sh cs.sh’ #字符串os.system(‘python test.py “{}” “{}”’.format(a,b,c))os.system(‘sh test.py “{}” “{}”’.format(a,b,c))2.准备test.pyimport sys#传过来的a,b,c都变成了字符串a=int(sys.argv[1]) #将传过来的a变为整数b=eval(sys.argv原创 2021-12-19 11:27:53 · 684 阅读 · 0 评论