
Pandas API
文章平均质量分 60
pandas 是一个基于 Numpy 构建, 强大的数据分析工具包,官方书籍链接:https://wizardforcel.gitbooks.io/pandas-cookbook-code-notes/content/
缘 源 园
https://mp.weixin.qq.com/s/EtndbQk9m9n75xiQsDcvww 欢迎关注博主微信公众号。一起交流互动更多问题。
展开
-
电影数据案例分析
1 需求我们有一组从2006年到2016年1000部最流行的电影数据数据来源:https://www.kaggle.com/damianpanek/sunday-eda/data问题1:我们想知道这些电影数据中评分的平均分,导演的人数等信息,我们应该怎么获取? 问题2:对于这一组电影数据,如果我们想rating,runtime的分布情况,应该如何呈现数据? 问题3:对于这一组电影数据,如果我们希望统计电影分类(genre)的情况,应该如何处理数据?首先获取导入包,获取数据impor.原创 2021-04-06 20:03:23 · 1053 阅读 · 1 评论 -
groupby和聚合函数进行分组与聚合
分组与聚合通常是分析数据的一种方式,通常与一些统计函数一起使用,查看数据的分组情况什么是分组与聚合?分组APIDataFrame.groupby(key, as_index=False) key:分组的列数据,可以多个 案例:不同颜色的不同笔的价格数据import pandas as pdimport numpy as npimport matplotlib.pyplot as pltcol =pd.DataFrame({'color': ['white','...原创 2021-04-06 20:03:12 · 1124 阅读 · 0 评论 -
交叉表与透视表
1 交叉表与透视表什么作用探究股票的涨跌与星期几有关?以下图当中表示,week代表星期几,1,0代表这一天股票的涨跌幅是好还是坏,里面的数据代表比例可以理解为所有时间为星期一等等的数据当中涨跌幅好坏的比例交叉表:交叉表用于计算一列数据对于另外一列数据的分组个数(用于统计分组频率的特殊透视表) pd.crosstab(value1, value2) 透视表:透视表是将原有的DataFrame的列分别作为行索引和列索引,然后对指定的列应用聚集函数 data.pivot_tab原创 2021-04-06 20:02:49 · 1465 阅读 · 0 评论 -
pd.merge实现数据的合并
如果你的数据由多张表组成,那么有时候需要将不同的内容合并在一起分析pd.mergepd.merge(left, right, how='inner', on=None)可以指定按照两组数据的共同键值对合并或者左右各自 left: DataFrame right: 另一个DataFrame on: 指定的共同键 how:按照什么方式连接Merge method SQL Join Name Description left LEFT OUTER JOIN Us.原创 2021-04-06 20:02:39 · 969 阅读 · 0 评论 -
pd.concat实现数据合并
pd.concat实现数据合并pd.concat([data1, data2], axis=1)按照行或列进行合并,axis=0为列索引,axis=1为行索引data.head() open high close low volume price_change p_change ma5 ma10 ma20 v_ma5 v_ma10 v_ma20 turnover 2018-02-27 23.53.原创 2021-04-06 20:02:28 · 978 阅读 · 0 评论 -
数据离散化
1 为什么要离散化连续属性离散化的目的是为了简化数据结构,数据离散化技术可以用来减少给定连续属性值的个数。离散化方法经常作为数据挖掘的工具。2 什么是数据的离散化连续属性的离散化就是在连续属性的值域上,将值域划分为若干个离散的区间,最后用不同的符号或整数值代表落在每个子区间中的属性值。离散化有很多种方法,这使用一种最简单的方式去操作原始人的身高数据:165,174,160,180,159,163,192,184 假设按照身高分几个区间段:150~165, 165~180,180..原创 2021-04-06 20:02:16 · 1143 阅读 · 0 评论 -
Pandas对缺失值Nan进行处理
1 如何处理nan 获取缺失值的标记方式(NaN或者其他标记方式) 如果缺失值的标记方式是NaN 判断数据中是否包含NaN: pd.isnull(df), pd.notnull(df) 存在缺失值nan: 1、删除存在缺失值的:dropna(axis='rows') 注:不会修改原数据,需要接受返回值 2、替换缺失值:fillna(value, inplace=True) value:替换成的值 .原创 2021-04-06 20:02:05 · 801 阅读 · 1 评论 -
Pandas的几种文件读取存储操作
文件读取与存储我们的数据大部分存在于文件当中,所以pandas会支持复杂的IO操作,pandas的API支持众多的文件格式,如CSV、SQL、XLS、JSON、HDF5。最常用的是HDF5和CSV文件原创 2021-04-06 20:01:31 · 1088 阅读 · 0 评论 -
自定义运算apply(func, axis=0)
apply(func, axis=0)func:自定义函数 axis=0:默认是列,axis=1为行进行运算定义一个对列,最大值-最小值的函数data[['open', 'low']].apply(lambda x: x.max() - x.min(), axis=0) #匿名函数,最大值减去最小值,返回x值'''open 22.74low 21.81dtype: float64'''...原创 2021-04-05 10:51:05 · 911 阅读 · 0 评论 -
DataFrame统计运算
import pandas as pd# 读取文件data = pd.read_csv("./data/stock_day.csv") data open high close low volume price_change p_change turnover 2018-02-27 23.53 25.88 24.16 23.53 95578.03 0.63 2.68 2.39 201...原创 2021-04-05 10:15:17 · 578 阅读 · 0 评论 -
DataFrame逻辑运算> <
算术运算import pandas as pd# 读取文件data = pd.read_csv("./data/stock_day.csv") data open high close low volume price_change p_change turnover 2018-02-27 23.53 25.88 24.16 23.53 95578.03 0.63 2.68 2.39 .原创 2021-04-05 09:53:13 · 365 阅读 · 0 评论 -
DataFrame算术运算‘‘+‘,‘-‘
算术运算import pandas as pd# 读取文件data = pd.read_csv("./data/stock_day.csv") data open high close low volume price_change p_change turnover 2018-02-27 23.53 25.88 24.16 23.53 95578.03 0.63 2.68 2.39 .原创 2021-04-05 09:41:24 · 168 阅读 · 0 评论 -
Pandas的基本数据操作
读取一个真实的股票数据import pandas as pd# 读取文件data = pd.read_csv("./data/stock_day.csv") # 删除一些列,让数据更简单些,再去做后面的操作data = data.drop(["ma5","ma10","ma20","v_ma5","v_ma10","v_ma20"], axis=1) #删除,如果要对行“index” 需要指定(axis=1)data open high close ..原创 2021-04-05 09:40:34 · 317 阅读 · 0 评论 -
Pandas的panel结构
panel的创建classpandas.Panel(data=None,items=None,major_axis=None,minor_axis=None) 作用:存储3维数组的Panel结构 参数: data: ndarray或者dataframe items: 索引或类似数组的对象,axis=0 major_axis: 索引或类似数组的对象,axis=1 minor_axis: 索引或类似数组的对象,axis...原创 2021-04-05 09:40:23 · 1440 阅读 · 0 评论 -
Pandas的MultiIndex数据结构
MultiIndexMultiIndex是三维的数据结构;多级索引(也称层次化索引)是pandas的重要功能,可以在Series、DataFrame对象上拥有2个以及2个以上的索引。原创 2021-04-05 09:40:10 · 1225 阅读 · 0 评论 -
什么是Pandas,它的优势
Pandas介绍2008年WesMcKinney开发出的库 专门用于数据挖掘的开源python库 以Numpy为基础,借力Numpy模块在计算方面性能高的优势 基于matplotlib,能够简便的画图 独特的数据结构为什么使用PandasNumpy已经能够帮助我们处理数据,能够结合matplotlib解决部分数据展示等问题,那么pandas学习的目的在什么地方呢?pandas的优势增强图表可读性 便捷的数据处理能力 读取文件方便 封装了Matplotlib、Num..原创 2021-04-05 09:39:57 · 1784 阅读 · 0 评论 -
Pandas数据结构
Pandas中一共有三种数据结构,分别为:Series、DataFrame和MultiIndex(老版本中叫Panel )。其中Series是一维数据结构,DataFrame是二维的表格型数据结构,MultiIndex是三维的数据结构。Pandas中的数据结构Series:https://blog.youkuaiyun.com/weixin_48135624/article/details/115419739Pandas中的数据结构DataFrame:https://blog.youkuaiyun.com/wei.原创 2021-04-05 09:39:42 · 290 阅读 · 0 评论 -
Pandas的Series结构
Pandas中一共有三种数据结构,分别为:Series、DataFrame和MultiIndex(老版本中叫Panel )。其中Series是一维数据结构,DataFrame是二维的表格型数据结构,MultiIndex是三维的数据结构。SeriesSeries是一个类似于一维数组的数据结构,它能够保存任何类型的数据,比如整数、字符串、浮点数等,主要由一组数据和与之相关的索引两部分构成。Series的创建# 导入pandasimport pandas as pdpd..原创 2021-04-05 09:39:28 · 775 阅读 · 0 评论 -
figsize = (a, b)
figsize = (a, b),其中figsize用来设置图形的大小,a为图形的宽, b为图形的高,单位为英寸。figsize=(18,6) 设置长8英寸,高为6英寸的图形。原创 2021-03-18 20:16:27 · 5582 阅读 · 0 评论 -
describe 25% ,75%是什么意思
25%, 50%和75%是对应的四分位数。四分位数(Quartile)是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。第三四分位数与第一四分位数的差距又称四分位距(InterQuar原创 2021-03-14 00:13:29 · 9546 阅读 · 0 评论 -
drop_duplicates去除DataFrame重复项
数据去重指的是删除重复数据。在一个数字文件集合中,找出重复的数据并将其删除,只保存唯一的数据单元。在我们的数据预处理过程中,这是一项我们经常需要进行的操作。去重的好处:节省存储空间,提升写入性能,提高模型精度.去除完全重复的行数据data.drop_duplicates(inplace=True)去除某几列重复的行数据data.drop_duplicates(subset=['a','b','c'],keep='first',inplace=True)subset: 列名,.原创 2021-03-08 12:25:43 · 701 阅读 · 0 评论 -
value_counts()计数的用法
value_counts() 方法返回一个序列 Series,该序列包含每个值的数量。也就是说,对于数据框中的任何列,value-counts () 方法会返回该列每个项的计数。value_counts()是Series拥有的方法,一般在DataFrame中使用时,需要指定对哪一列或行使用。value_counts()在DataFrame的用法:import pandas as pdimport numpy as npdf1= DataFrame( {"ha原创 2021-03-08 11:10:59 · 16683 阅读 · 2 评论 -
pd.DataFrame()函数是什么
DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表.原创 2021-03-04 00:00:54 · 3413 阅读 · 2 评论 -
pandas: shape()获取Dataframe的行数和列数
返回列数:df.shape[1]返回行数:df.shape[0] 或者:len(df)原创 2021-03-03 23:59:48 · 13452 阅读 · 4 评论 -
isna和isnull的区别
isnull是isna的别名检测类似数组对象缺失值原创 2021-03-03 12:21:00 · 1424 阅读 · 0 评论 -
使用Seaborn网格做多变量分析
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt%matplotlib inline# 读取employee数据集,创建工龄的列employee = pd.read_csv('data/employee.csv', parse_dates=['HIRE_DATE', 'JOB_DATE'])days_hired = (pd.to_datetime('12-1-2016') - employee['HIR.原创 2021-03-02 14:14:25 · 412 阅读 · 0 评论 -
seaborn和pandas绘制箱线图 boxplot
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt%matplotlib inline# 用seaborn话race和gender的箱线图ax = sns.boxplot(x='GENDER', y='BASE_SALARY', data=employee, hue='RACE', palette='Greys') #调色板ax.figure.set_size_inches(14,4)# pan.原创 2021-03-02 14:02:17 · 1419 阅读 · 0 评论 -
Seaborn和pandas绘制柱状图(countplot,barplot)
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt%matplotlib inline# 读取employee数据集employee = pd.read_csv('data/employee.csv', parse_dates=['HIRE_DATE', 'JOB_DATE']) #parse_dates将哪一列解析为时间索引employee.head() UNIQUE_ID POSIT..原创 2021-03-02 13:43:43 · 3610 阅读 · 0 评论 -
Python对数据实现可视化
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt%matplotlib inline# 读取flights数据集flights = pd.read_csv('data/flights.csv')flights.head() MONTH DAY WEEKDAY AIRLINE ORG_AIR DEST_AIR SCHED_DEP DEP_DELAY ..原创 2021-03-02 00:15:10 · 423 阅读 · 0 评论 -
Pandas绘图df.plot(kind=‘...‘)
line’ : line plot (default)#折线图‘bar’ : vertical bar plot#条形图。stacked为True时为堆叠的柱状图‘barh’ : horizontal bar plot#横向条形图‘hist’ : histogram#直方图(数值频率分布)‘box’ : boxplot#箱型图‘kde’ : Kernel Density Estimation plot#密度图,主要对柱状图添加Kernel 概率密度线‘density’ : same.原创 2021-03-01 22:27:25 · 19270 阅读 · 1 评论 -
用DatetimeIndex的属性分组
# 读取crime数据集,行索引设为REPORTED_DATE,并排序crime_sort = pd.read_hdf('data/crime.h5', 'crime') \.set_index('REPORTED_DATE') \.sort_index()crime_sort.head() OFFENSE_TYPE_ID OFFENSE_CATEGORY_ID GEO_LON GEO_LAT NEIGHBORHOOD_ID IS_CRIME IS..原创 2021-02-28 23:32:57 · 381 阅读 · 0 评论 -
按工作日和年 测量 犯罪
# 读取crime数据集,将REPORTED_DATE作为一列crime = pd.read_hdf('data/crime.h5',"crime")crime.head() OFFENSE_TYPE_ID OFFENSE_CATEGORY_ID REPORTED_DATE GEO_LON GEO_LAT NEIGHBORHOOD_ID IS_CRIME IS_TRAFFIC 0 traffic-accident-dui-duid ..原创 2021-02-28 23:16:58 · 189 阅读 · 2 评论 -
只使用适用于DatetimeIndex的方法
# 读取crime hdf5数据集,行索引设为REPORTED_DATE,检查其数据类型crime = pd.read_hdf('data/crime.h5', 'crime').set_index('REPORTED_DATE')print(type(crime.index))#<class 'pandas.core.indexes.datetimes.DatetimeIndex'># 用between_time方法选取发生在凌晨2点到5点的案件crime.between_ti.原创 2021-02-28 21:46:58 · 396 阅读 · 1 评论 -
智能切分时间序列
# 从hdf5文件crime.h5读取丹佛市的crimes数据集,输出列数据的数据类型和数据的前几行crime = pd.read_hdf('data/crime.h5', 'crime')crime.dtypes'''OFFENSE_TYPE_ID categoryOFFENSE_CATEGORY_ID categoryREPORTED_DATE datetime64[ns]GEO_LON .原创 2021-02-28 11:21:49 · 301 阅读 · 0 评论 -
Python和Pandas日期工具的区别
import pandas as pdimport numpy as np# 引入datetime模块,创建date、time和datetime对象,微秒microsecondimport datetimedate = datetime.date(year=2020, month=6, day=7)time = datetime.time(hour=12, minute=30, second=19, microsecond=463198)dt = datetime.datetime...原创 2021-02-28 01:49:07 · 548 阅读 · 1 评论 -
当多个观察单位被存储于同一张表时进行清理
# 读取movie_altered数据集movie = pd.read_csv('data/movie_altered.csv')movie.head()title rating year duration director_1 director_fb_likes_1 actor_1 actor_2 actor_3 actor_fb_likes_1 actor_fb_likes_2 actor_fb_likes_3 0 A.原创 2021-02-28 00:07:52 · 148 阅读 · 0 评论 -
当多个变量被存储为列名和列值时进行清理
import pandas as pd# 读取sensors数据集sensors = pd.read_csv('data/sensors.csv')sensors Group Property 2012 2013 2014 2015 2016 0 A Pressure 928 873 814 973 870 1 A Temperature 1026 1038 1009 ..原创 2021-02-28 00:07:44 · 150 阅读 · 1 评论 -
同一个Excel单元格有多个数据,怎么进行拆分
import pandas as pd# 读取texas_cities数据集cities = pd.read_csv('data/texas_cities.csv')cities City Geolocation 0 Houston 29.7604° N, 95.3698° W 1 Dallas 32.7767° N, 96.7970° W 2 Austin 30.2672° N, 97.7431° W # 将Geolocati..原创 2021-02-28 00:07:35 · 1891 阅读 · 1 评论 -
Pandas中pivot的使用
data : 创建透视表的dataframevalues : 要聚合的值, optionalindex : 要聚合的indexcolumns : 要聚合的columnsaggfunc :聚合的方式, default numpy.meanfill_value : 用来替换透视表的缺失值scalar, default Nonemargins : 添加所有行,列,例如在后面加个“总和”boolean, default Falsedropna : 不要包含条目都是NaN的列boolean原创 2021-02-28 00:07:11 · 5548 阅读 · 2 评论 -
Pandas中pivot_table的使用
data : 创建透视表的dataframevalues : 要聚合的值, optionalindex : 要聚合的indexcolumns : 要聚合的columnsaggfunc :聚合的方式, default numpy.meanfill_value : 用来替换透视表的缺失值scalar, default Nonemargins : 添加所有行,列,例如在后面加个“总和”boolean, default Falsedropna : 不要包含条目都是NaN的列boolean原创 2021-02-27 21:34:01 · 341 阅读 · 0 评论