
Pandas
文章平均质量分 69
苏小败在路上
不一样的人生
展开
-
Python-Pandas之日期分组(将日期按照设定的组分为不同类型)
生成一个df:import pandas as pdimport randomfrom datetime import datetime, timedeltas_date = datetime(2020, 4, 1)e_date = datetime(2020, 4, 30)dates = pd.date_range(s_date, e_date)names = [''.join(random.sample('abcdefghijklmnopqrstuvwxyz', 5)) for i原创 2020-05-15 10:41:18 · 14332 阅读 · 0 评论 -
Python-Pandas之Dataframe进行groupby之后重命名方法
在正常情况,我们是这样做分组统计的:dft = train_data.groupby('AdID').agg({'AdDate': ['nunique', 'unique']})得到的结果是这样的:列变成多行了,其实有两个方法可以设置:第一种,是重新命名列名:最简单直接的方式:dft.columns = pd.Series(['Count', 'List'])结果是这样的:已经改好了,直截了当,但是呢,如果列数比较多就比较麻烦了,你还要一个个对应。第二.原创 2020-05-11 18:17:52 · 21680 阅读 · 2 评论 -
Python-Pandas之两个日期数据求差(天数差、秒数差等)
在数据帧里面,经常碰到要计算两个时间格式列的天数差,比如用户的活跃天数,我们肯定是用最近登录日期减去用户的下载日期,但是要怎么做呢?其实很简单,pandas的dataframe是可以直接用列相减的,当然是时间类型和数值类型的才行。数值类型加减乘除不用多说了,基本和数值的加减乘除是一样的。无非就是要对除的列要做一下 replace(np.inf, 0) 处理,这个是防止出现除零的情况,一般是用0...原创 2020-04-22 16:56:09 · 26137 阅读 · 13 评论 -
Python-Pandas关于时间格式数据的保留位数操作
有时候,我们读取的数据中,有时间格式的数据,比如:2020-04-22T16:13:22.000000但是我们可能需要做分组处理,比如:df.groupby,按照日期或者小时做分组,那要怎么做呢?可以这样:df.groupby(df['datetime'].dt.hour).agg({'userid': 'nunique'})上面就是把数据按照小时分组,统计每个小时的用户数量。...原创 2020-04-22 16:35:57 · 5414 阅读 · 0 评论 -
Python-Pandas将最新的数据更新到数据库
在做数据分析时,时常会用到 dataframe.to_sql 语句,把一些计算或分析好的数据加入到数据库中,一般的添加是很好操作的,直接设置一个参数即可:dataframe.to_sql( table_name, con=conn, if_exists='append', index=False)如果存在,就添加到后面去,但是如果我们数据中都是有唯一ke...原创 2020-04-22 16:09:45 · 10382 阅读 · 0 评论 -
Python-Pandas之HDFStore读写的奇葩问题
这次往我一个老的HDF文件里面写新的数据,报了下面这个错:HDF5ExtError Traceback (most recent call last)~/anaconda3/lib/python3.6/site-packages/tables/node.py in __init__(self, parentnode, name, _...原创 2020-03-26 18:43:04 · 5838 阅读 · 0 评论 -
Python-Pandas之两个Dataframe的比较(四)
昨天在外网找到一个比较dataframe的好库,叫datacompy,它的优点有:1、可以把对比后的信息详情打印出来,比如列是否相等,行是否相等;2、在数据中如果有不相等列,那么就只比较相同的列;3、可以设置绝对差值和相对差值,比如我们比较有浮点数的数据时,设置下绝对差值为0.01,后面的一系列微小的值就忽略了;4、在数据报告中,每一列的数据类型、不相等数量、最大差值和空值都详细列...原创 2020-03-24 09:20:05 · 21845 阅读 · 5 评论 -
Python-Pandas之两个Dataframe的比较(三)
昨天使用了 hashlib 库,今天直接使用 Dataframe 自带的函数去比较两个 df一,使用 equals 函数对比:import sys, sqlite3, pandas as pdfiles = []try: files = [sys.argv[1], sys.argv[2]]except: print('命令行未检测到文件参数。')# 这个方式可以...原创 2020-03-20 18:09:32 · 17350 阅读 · 2 评论 -
Python-Pandas之两个Dataframe的比较(二)
今天找到一个好方法,可以直接比较两个df,这个方法包含在hashlib库里面,代码如下:import hashlib, sysfiles = []try: files = [sys.argv[1], sys.argv[2]]except: print('命令行未检测到文件参数。')# 这个方式可以通过命令行运行:# # python3 cmpfiles....原创 2020-03-19 09:10:03 · 6763 阅读 · 0 评论 -
Python-Pandas之DataFrame转字典
将DataFrame的某列数据取出来,然后转化成字典:import pandas as pddata = { 'name': ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'qianqi', 'zhangsan'], 'age': [18, 19, 20, 21, 22, 23], 'city': ['beijing', 's...原创 2019-12-12 09:23:10 · 6026 阅读 · 0 评论 -
Dash-下载原始数据
Dashboard本来是做数据分析用的工具,但是如果想把数据下载下来,要怎么做呢?我去官网没有说明如何下载数据,后来在官方论坛上看到了解决方案:https://community.plot.ly/t/download-raw-data/4700在回帖里面,找 chriddyp 的总结,可以实现这个目标,下面是截图:这个是很早以前的库了,按照他原来的做法,提示我找不到urllib...原创 2019-10-08 16:40:30 · 623 阅读 · 0 评论 -
Python-Pandas之Dataframe的比较记录
最近需要做dataframe之间的比较,看看两个df之间是否相同,百度之后,有一个好的方式,就是将df的值先转化成行向量,然后用向量比较,得到一个ndarray的数组,里面只有True和False,其中False,表示两个向量不同,我们只需要判断里面是否有False就可以知道是否完全相等。下面是代码:def compare_values(df1, df2): df1_r...原创 2019-08-19 13:52:13 · 7957 阅读 · 1 评论 -
Python-Pandas学习之HDFStore存储数据警告(your performance may suffer as PyTables will pickle....)
这是一个类似数据表字典的格式,可以将很多的数据帧(dataframe)保存在一个对象里面。每一个数据帧,都标有一个key,然后通过key来访问数据帧的数据。但是,在使用HDF的时候,如果不指定格式,那么我们数据中存在string类型的数据,就会报以下警告:PerformanceWarning: your performance may suffer as PyTables will...原创 2019-07-22 18:29:25 · 10364 阅读 · 2 评论 -
Python-Pandas学习之将数据帧(Dataframe)的数据插入到数据中,并且只插入新的数据
在使用数据帧的过程中,我们经常会需要数据库写入操作,特别是大量的基础数据。在有的数据中,我们是需要设置主键或者唯一项的,那么这个时候,如果还是无脑的调用 to_sql,就会经常出现一个错误,说数据库的主键或唯一项冲突。这个时候,我们就需要对新数据做一下处理,需要先把和数据库中的数据重合的数据删除掉,才能插入新数据。思路就是,根据条件,将新数据中可能出现的情况,使用 read_sql 的...原创 2019-07-12 11:31:04 · 1250 阅读 · 0 评论 -
Python-datetime库中datetime与numpy库中datetime的转换
目前要用到pandas处理数据,在获取到日期时间的时候,默认是numpy.datetime64的。但是这个类型,是无法直接获取到年月日的,所以弄起来特别麻烦。所以,我们要把这个类型转换成 datetime库中的datetime!在网上找了转换的方式,大都是这样的:1、是直接使用 astype 转换import datetimeimport numpy as npdt ...原创 2019-07-16 13:19:39 · 2463 阅读 · 0 评论 -
Python-Pandas的Dataframe基本操作语句和 SQL 语句对比
SELECT,WHERE,DISTINCT,LIMITSQL写法:SELECT * FROM table_name --取出table中所有数据SELECT * FROM table_name limit 3 --取出table中的前3行数据SELECT * FROM table_name WHERE column_name = 'abc' --从table中...原创 2019-07-09 17:28:36 · 3100 阅读 · 0 评论 -
Python-Pandas学习之数据帧(Dataframe)
数据帧(Dataframe)是一个矩阵样式的数据表,包含已排序的列集合,每一列可以是不同的值类型(数值、字符串、布尔值等)数据帧既有行索引也有列索引,它被视为一个共享相同索引的Series字典。下面是创建数据帧的方法,以及一些基本操作:import pandas as pddata = { 'platform': ['qq', 'weixin', 'weibo', 'ta...原创 2019-06-27 16:28:32 · 3929 阅读 · 0 评论 -
Python-Pandas学习之序列(Series)
Pandas是Python的一个库,专门用于处理数据的库,里面提供了很强大的数据处理工具,可以使用下面命令安装这个库:$ pip install pandasSeries是一种一维的数组对象,包含了一个值序列和数据标签,也就是索引(index),下面是一种最简单的序列:import pandas as pd #引用pandas模块obj = pd.Series([1, 2...原创 2019-06-27 15:18:02 · 2156 阅读 · 0 评论