Python数据清洗
小猪课堂
用最简短的描述,解决你遇到的问题,节约的时间可以用来思考~
展开
-
【Python数据清洗】日期时间、时间序列大汇总
虽然学代码很久了,但是每次遇到时间上的问题的时候都会犯难,最近针对几个痛点和难点做了一些简单的梳理,来就解决日常代码中的一些常见的需求。------以上时废话,以下是有用的东西-------------------------------------------------------主要分为三类时间戳时间间隔与从周期表时间增量或持续时间我们从Python标准库、numpy到pandas的顺序来梳理。一、Python标准库:原生Python的日期与时间工具:datetime和dateut原创 2021-04-13 08:35:55 · 2013 阅读 · 2 评论 -
【Python数据清洗】pivot_table 与 pivot 的区别——手把手系列
最近在处理数据时会使用到将行转列 或者将列转行的情况,看了很多大神的教程一直提到一个pivot的函数,自己在之前看书的时候有看过一个类似的函数就是pivot_table的函数,出于好奇就写一个这两个函数的区别吧。------以上时废话,以下是有用的东西-------------------------------------------------------首先看一下这两个函数的超参:pivot: 通过指定的索引和列对数据进行重塑,无法聚合。法一:pd.pivot( )pd.pivot(原创 2021-04-07 14:53:17 · 2597 阅读 · 2 评论 -
【Python数据清洗】np.argmax()函数用法解析
简介numpy.argmax(array, axis) 用于返回一个numpy数组中最大值的索引值。当一组中同时出现几个最大值时,返回第一个最大值的索引值。在运算时,相当于剥掉一层中括号,返回一个数组,分为一维和多维。一维数组剥掉一层中括号之后就成了一个索引值,是一个数,而n维数组剥掉一层中括号后,会返回一个 n-1 维数组,而剥掉哪一层中括号,取决于axis的取值。n维的数组的 axis 可以取值从 0 到 n-1,其对应的括号层数为从最外层向内递进,详见后文。一、一维数组的用法one_di.原创 2021-04-07 13:52:05 · 3099 阅读 · 2 评论 -
【Python数据清洗】将数据类型转换成分类型——category
将数据转换成category类型h_total_data['country_name'].astype('category')----------------分享完毕,解决请【点赞】哈 ------------------------Address:北京Date:20210305喜欢可以关注【小猪课堂】公众号了解更多内容...原创 2021-03-05 15:03:38 · 1708 阅读 · 0 评论 -
【Python数据清洗 】——数据框行转列,列转行
import pandas as pdceshi = pd.read_csv(u'F:/下载/context_data.csv')# print(ceshi)# melt行转列bd = pd.melt(ceshi, id_vars=['context_id','subject_gmt'],value_vars=['browse_count','click_count','like_count','commet_count','reply_count','score_value'], var_原创 2021-03-02 11:20:41 · 1230 阅读 · 0 评论 -
【Python数据清洗】python 错位相减,同一行(列)的错位相相减shift()
今天接到一个需求,要求对数据错位相减。感觉写得有点麻烦,如果有其他方法,欢迎留言交流数据说明:有客户、消费日期、消费额度求解目标:对于同一个客户,对日期升序排序,如果下一个日期的消费额度大于上一个日期的消费额度,则标记,最终取出第一次发生时对应的较大的日期最简单的方法是使用 pandas.Series.shift 具体可参考官方文档https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.shift.html原创 2020-10-09 15:56:52 · 2151 阅读 · 0 评论 -
【Python——类】 同一个类中一个函数里调用另一个函数的方法
【Python—类】 同一个类中一个函数里调用另一个函数的方法class Solution: def a(self): self.b() # 注意这种写法:self.类名 def b(self): print('在这里')a = Solution()a.a()原创 2020-09-28 16:23:31 · 16998 阅读 · 4 评论 -
【Python数据清洗】快速查看类(class)下的方法及函数
快速查看类(class)下的方法import pandas as pdimport numpy as np import mathcontent = dir(math)print (content)Address:北京Date:20200925喜欢可以关注【小猪课堂】公众号了解更多内容原创 2020-09-25 12:01:28 · 2038 阅读 · 0 评论 -
【Python数据清洗】在已有dataframe中添加一行数据
目的:在构造的dataframe中添加一行数据给已经建好的DataFrame中添加一行# 构建一个dataframedf = pd.DataFrame(columns=['name','number'], data=[['cat',3], ['dog',2],['pig',1]])df name number0 cat 31 dog 22 pig 1# 插入一行,随便设置索引,比如按照字符串作为索引df.loc['new'] = ['d原创 2020-09-10 19:55:08 · 10870 阅读 · 1 评论 -
【python数据清洗】获取当日的日期或当日时间
获取当日的日期或当日时间import datetimecurrent_date = datetime.datetime.now().strftime('%Y%m%d')此时为字符串格式,强行改成整型current_date =int(datetime.datetime.now().strftime('%Y%m%d'))OK,每天一练,多练习就不会忘记Date:2020年9月7日Address:Beijing-----------------------------分享结束线-------原创 2020-09-07 16:29:05 · 1273 阅读 · 0 评论 -
【Python数据清洗】DataFrame根据条件赋值
喜欢可以关注【小猪课堂】公众号了解更多内容DataFrame根据条件设置如果现在的判断条件是这样, 我们想要更改B中的数, 而更改的位置是取决于 A 的. 对于A大于4的位置. 更改B在相应位置上的数为0.>>df.B[df.A>4] = 0 A B C D2013-01-01 0 2222 2 32013-01-02 4 5 6 72013-01-03 8 0 111原创 2020-07-01 15:48:49 · 4319 阅读 · 1 评论 -
【Python数据清洗】将某列从str/object修改为int/float型
【Python数据清洗】数据格式互换str转int、str转float、str转object添加链接描述这篇过于啰嗦,然后3分钟内看不完所以我又回来更新了========================================多年后看之前写的真的很啰嗦,可能不是网友们最想看到的(因为我看的时候看了好久才明白说的是啥子)字符转换!字符转换!字符转换!字符转换!字符转换!:str转成int法一:df['timestr']=df['timestr'].apply(lambda x : int(x原创 2020-06-28 15:02:18 · 16624 阅读 · 2 评论 -
【Python数据清洗】for循环+条件判断 VS 数据向量化
今天(也就是2020年3月26日)重新看了一下《利用Python进行数据分析》第二版然后下午的时候想工作一会就做了一个数据分析,至于我是怎么从1千多亿条数据里面选择出98w符合条件的数据就不赘述了,最关键的一点就是我使用了一个for循环+条件判断的代码,然后等了大约10分钟左右吧,因为在运行代码的时候跟朋友聊天,感觉都没什么可聊的的时候代码才运行完,然后我想起来了python中的numpy这个包...原创 2020-03-26 19:41:10 · 491 阅读 · 0 评论 -
【Python数据清洗】数据格式互换str转int、str转float、str转object
【Python数据清洗】数据格式互换str转int、str转float、str转objectprint(test_1.x_id)print(test_2.x_id)objectint64这时候就要让两个id一致方法1:都变成字符串形式test_1.x_id.astype(str)test_2.x_id.astype(str)pd.merge(test_1,test_2,lef...原创 2020-03-18 14:35:58 · 4712 阅读 · 0 评论 -
【python数据清洗】JSON的使用
【python数据清洗】JSON的使用这里只介绍两个概念和对应的两个功能dump:倾倒 序列化 就是将python数据转化为json格式load:装入 反序列化 将json转化成python格式json.dumps() json.loads() json文档https://docs.python.org/3/library/json.html更多内容VX关注【小猪课堂】公众号...原创 2020-03-08 19:13:36 · 1161 阅读 · 0 评论 -
【Python数据清洗】使用merge合并2个Dataframe报错:You are trying to merge on object and int64
test_1=pd.DataFrame(a)test_2=pd.DataFrame(a)pd.merge(test_1,test_2,left_on='x_id',right_on='x_id',how='left')出现报错:You are trying to merge on object and int64出错原因就是test_1.x_id与test_2.x_id数据类型不一致...原创 2020-02-24 14:10:52 · 4439 阅读 · 0 评论 -
【Python数据清洗】pandas dataframe list(列表)数据列拆分成多行的方法
需要把下面的dataframe里面列的数据类型是list的列拆分成多个行:df=pd.DataFrame({‘A’:[1,2],‘B’:[[1,2],[1,2]]})dfOut[458]:A B0 1 [1, 2]1 2 [1, 2]所用代码如下:(1)如果你要拆分的dataframe只有两列,那么使用下面的方法(亲测非常高效):df=pd.DataFrame({‘A’:df.A...原创 2020-02-21 18:04:14 · 2025 阅读 · 0 评论 -
【Python数据清洗】判断数值不为空
----------------------判断方法----------------------python判断是否为空Series.isnull()#对就这么简单Series.notnull()#判断不为空series.isna()#百度说跟上面差不多,但是一般都用上面的pd.isnull(series)#不行就用这个python判断是否为Noneseries==np.nans...原创 2020-02-21 11:13:47 · 5367 阅读 · 0 评论 -
【Python数据清洗】生成特殊数组,np.arange(),np.zeros(),np.ones(),np.eye()
《对比Excel,轻松学习Python数据分析》第15章继续第15章np.arange(start,stop,step)#开始,结束,步长np.arange(1,15,3)#当step省略不写时,步长为1array([ 1, 4, 7, 10, 13])生成指定形状全为0的数组 np.zeros()np.zeros(2)#一维数组array([0., 0.])np.ze...原创 2020-01-14 21:58:49 · 569 阅读 · 0 评论 -
【Python数据清洗】生成随机数组np.random.rand(),randn(),randint(),choice(),shuffle()
《对比Excel,轻松学习Python数据分析》第15章上一部分我们讲了【生成特殊数组】接下来说【生成随机数组】生成随机数组np.random.rand()#不给值则默认是0到1之间的随机数组,传入参数大于2个则生成多维(0到1之间的数据)np.random.rand()0.9360900783709196np.random.rand(2,3)array([[0.9546699...原创 2020-01-14 21:51:31 · 505 阅读 · 0 评论 -
【Python数据清洗】numpy.take()用法
numpy.take()用法学了Python很长时间了但是一直没有去研究take的使用方法今天周末加班研究一下写一个简单的笔记,基本上都是借鉴别人的其旨在根据提供的索引值将元素形成数组输出,如下图所示;numpy.take(a,indices,axis = None,out = None,mode =‘raise’ )沿轴取数组中的元素。当axis不是None时,此函数与“fanc...原创 2020-01-05 17:10:11 · 12207 阅读 · 3 评论 -
【Python数据清洗】import引入不同路径下的模块
python 包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。下面将具体介绍几种常用情况:(1)主程序与模块程序在同一目录下:如下面程序结构:-- src |-- mod1.py– test1.py若在程序test1.py中导入模块mod1, 则直接使用 import mod1或from mod1 import *;(2)主程序所在目录是模块所...原创 2020-01-02 21:01:49 · 194 阅读 · 0 评论 -
【Python数据清洗】zip()与zip(*)的使用法解析
zip在英文中有拉链的意思,我们由此可以形象的理解它的作用:将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。语法:zip([iterable, …])示例:zip(a,b)values=zip(a,b)zip(*values)>>> a = [1,2,3]&g...原创 2020-01-02 07:56:24 · 796 阅读 · 0 评论 -
【Python数据清洗】enumerate() 函数
enumerate() 函数enumerate:枚举enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。enumerate(sequence, [start=0])参数(api接口)sequence – 一个序列、迭代器或其他支持迭代对象。start – 下标起始位置。例子;>...原创 2019-11-27 10:06:12 · 237 阅读 · 0 评论 -
【Python数据清洗】Index.get_indexer 方法的含义
此方法一般用于Python建模的虚拟变量或者其他数据清洗中使用方法:pd.Index(df1).get_indexer(df2)#表示获取df1中df2内容的索引位置同理有index就有columnspd.Columns(df1).get_indexer(df2)例子表示,to_match 中的字符,在 unoque_vals 中的位置索引...原创 2019-11-27 10:02:26 · 7307 阅读 · 0 评论 -
第五章、淘米洗菜——数据预处理,知识点
第五章、淘米洗菜——数据预处理,知识点缺失值处理缺失值查询data_excel.info()空值查询第一种方法data_excel[data_excel['reject_code'].isna()]第二种方法data_excel[data_excel['reject_code'].isna()].head()删除缺失值data_excel.dropna()data_...原创 2019-11-21 22:48:16 · 290 阅读 · 0 评论 -
python 写入网页文件乱码问题、UTF-8和UTF-8-sig的区别、什么是BOM(Byte Order Mark)
python 写入网页文件乱码问题、UTF-8和UTF-8-sig的区别、什么是BOM(Byte Order Mark)原创 2019-11-14 09:58:48 · 326 阅读 · 0 评论 -
【对比Excel,轻松学习Python数据分析】第十四章 典型数据分析案例,知识点
。原创 2019-11-13 09:11:41 · 976 阅读 · 0 评论 -
【对比Excel,轻松学习Python数据分析】第十三章 菜品摆放——数据可视化,知识点
。原创 2019-11-13 09:21:02 · 388 阅读 · 0 评论 -
《对比Excel,轻松学习Python数据分析》学习目录
《对比Excel,轻松学习Python数据分析》这本书已经读完了,我们做一个目录汇总,以后就可以在目录下查阅各章节相关内容了。第一章、第二章、第三章、第四章、第五章、第六章、第七章、第八章、第九章、第十章、第十一章、第十二章、 盛菜装盘——结果导出,知识点第十三章、第十四章、...原创 2019-11-15 07:35:52 · 1585 阅读 · 0 评论 -
【对比Excel,轻松学习Python数据分析】第十二章 盛菜装盘——结果导出,知识点
**第十二章 盛菜装盘——结果导出,知识点**导出为.xlsx文件df.to_excel(excel_writer=io)注意:文件打开时导出可能会报错设置sheet_namedf.to_excel(io,sheet_name='测试文档')设置索引 indexindex=Truedf.to_excel(io,sheet_name='测试文档',index=True)#默认...原创 2019-11-09 16:58:29 · 313 阅读 · 0 评论 -
【对比Excel,轻松学习Python数据分析】第十章 菜品分类——数据分组/数据透视表,知识点
第十章 菜品分类——数据分组/数据透视表import pandas as pdio=r'E:\工作\专项\WORK_FILTER_FOR_A.xlsx'data=pd.read_excel(io,enconding='utf-8')#engine='python'#在excel中不能使用简单分组 groupby()a.groupby('apply_no').count().reset_...原创 2019-11-07 16:47:36 · 620 阅读 · 0 评论 -
【对比Excel,轻松学习Python数据分析】第七章 切配菜品-数值操作,知识点
第七章 切配菜品-数值操作,知识点7.1数值替换replace()一对一替换:df.replace('A','B',inplace=True)多对一替换:用列表df.replace([list('ABCD')],'E')多对多替换:用字典df.replace({'A':'a','B':'b')7.2数值排序sort_values()升序:df.sort_values(...原创 2019-11-05 23:24:51 · 365 阅读 · 0 评论 -
【对比Excel,轻松学习Python数据分析】第四章 准备食材——获取数据源,知识点
导入外部数据data=pd.excel(io,sheet_name=0,index_col=0,header=0,usecols=0)路径(io)的书写1.r'c:\uesrs...\test.xlsx'#加r2.'c:\\uesrs...\\test.xlsx'#加\3.'c:/users..../test.xlsx'#使用/sheet_name 设置读取的sheet1.she...原创 2019-11-03 11:57:49 · 528 阅读 · 0 评论 -
【对比Excel,轻松学习Python数据分析】第三章,知识点 pandas数据结构
这本书第三章讲的比较基础,比较浅。看了5分钟就看完了。看了三章,我觉得这本书对于概念的解释还是挺好的,属于实用性的解释而非学术型解释。讲了两个概念:什么是Series:是一种类似于一位数组的对象,有一组数据及一组与之相关的数据标签(即索引)组成。什么是DataFrame:是由一组数据与一对索引(行索引和列索引)组成的表格型数据结构。其他内容比较简单和基础,看一下熟悉就好了怎么创建S...原创 2019-11-03 11:25:38 · 408 阅读 · 0 评论 -
【对比Excel,轻松学习Python数据分析】第二章,知识点:python中map()函数的用法讲解
由于前段时间家里有事情,将读书的事情耽搁了一段时间。进去感觉生活无味又买了几本书,准备给大家做一个读书系列的分享,不仅可以加强自己的理解和记忆,而且可以作为电子笔记供自己和大家查阅。第一章其实没什么可以讲的直接看第二章,第二章我觉得有几点可以给大家分享一下基础,最主要的就是函数的应用本章的2.12难理解的就这块python中map()函数的用法讲解map函数的原型是map(functio...原创 2019-11-03 10:35:24 · 1080 阅读 · 0 评论 -
【Python数据清洗】筛选列表中最大值与最小值的差值
f = lambda x: x.max() - x.min()frame.apply(f)原创 2019-10-30 17:56:10 · 3680 阅读 · 0 评论 -
【python数据清洗】python加减乘除总结(多图)
【python加减乘除总结】喜欢可以关注【小猪课堂】公众号了解更多编程小技巧加:+ add radd减:- sub rsub乘:* mul rmul除:/ div rdiv整除:// floordiv ,rfloordiv我自己打完上面内容才发现下面这张图,靠!tips:列出了Series和DataFrame的算术方法。它们每个都有一个副本,以字母r开头,它会翻转参...原创 2019-10-30 17:17:48 · 1070 阅读 · 0 评论 -
DataFrame与Series数值的运算
原则一:运算结果返回全部出现的索引原则二:相同索引相加原则三:任何值与nan做算术运算 结果为nan原创 2019-10-30 16:56:59 · 1657 阅读 · 0 评论 -
SAS及其他数字编程中[le,gt,eq,ne,lt,ge]的意思
数字编程中LE小于等于,GT大于,EQ等于,NE不等于,LT小于,GE大于等于原创 2019-07-18 15:56:58 · 13778 阅读 · 0 评论