Python数据分析实战
Captain Franke
简单生活,热爱生活。
展开
-
Python数据分析实战【第三章】3.15-Matplotlib表格样式调用【python】
1.定位空值df = pd.DataFrame(np.random.rand(5,4),columns = list('ABCD'))df['A'][2] = np.nandf.style.highlight_null(null_color='red')2.色彩映射df = pd.DataFrame(np.random.rand(10,4),columns = list('ABC...原创 2020-04-28 16:57:38 · 243 阅读 · 0 评论 -
Python数据分析实战【第三章】3.14-Matplotlib表格显示控制【python】
1.按照百分数显示df = pd.DataFrame(np.random.randn(10,4),columns=['a','b','c','d'])print(df.head())df.head().style.format("{:.2%}")2.显示小数点数df.head().style.format("{:.4f}")3.显示正负数df.head().style.for...原创 2020-04-28 16:54:43 · 234 阅读 · 0 评论 -
Python数据分析实战【第三章】3.13-Matplotlib表格样式创建【python】
【课程3.13】 表格样式创建表格视觉样式:Dataframe.style → 返回pandas.Styler对象的属性,具有格式化和显示Dataframe的有用方法样式创建:① Styler.applymap:elementwise → 按元素方式处理Dataframe② Styler.apply:column- / row- / table-wise → 按行/列处理Dataframe...原创 2020-04-27 23:42:23 · 270 阅读 · 0 评论 -
Python数据分析实战【第三章】3.12-Matplotlib箱型图【python】
【课程3.12】 箱型图箱型图:又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图包含一组数据的:最大值、最小值、中位数、上四分位数(Q3)、下四分位数(Q1)、异常值① 中位数 → 一组数据平均分成两份,中间的数② 上四分位数Q1 → 是将序列平均分成四份,计算(n+1)/4与(n-1)/4两种,一般使用(n+1)/4③ 下四分位数Q3 → 是将序列平均分...原创 2020-04-27 22:16:26 · 438 阅读 · 0 评论 -
Python数据分析实战【第三章】3.10-Matplotlib散点图、矩阵散点图【python】
【课程3.10】 散点图、矩阵散点图plt.scatter(), pd.scatter_matrix()1.plt.scatter()散点图# plt.scatter(x, y, s=20, c=None, marker='o', cmap=None, norm=None, vmin=None, vmax=None, # alpha=None, linewidths=None, verts...原创 2020-04-27 19:42:02 · 512 阅读 · 0 评论 -
Python数据分析实战【第三章】3.9-Matplotlib直方图【python】
1.直方图+密度图s = pd.Series(np.random.randn(1000))s.hist(bins = 20, histtype = 'bar', align = 'mid', orientation = 'vertical', alpha=0.5, normed =True)# bin:箱子的宽度# n...原创 2020-04-26 23:36:18 · 314 阅读 · 0 评论 -
Python数据分析实战【第三章】3.8-Matplotlib面积图、填图、饼图【python】
【课程3.8】 面积图、填图、饼图plt.plot.area()plt.fill(), plt.fill_between()plt.pie()1.面积图fig,axes = plt.subplots(2,1,figsize = (8,6))df1 = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])...原创 2020-04-26 23:33:22 · 620 阅读 · 0 评论 -
Python数据分析实战【第三章】3.7-Matplotlib柱状图、堆叠图【python】
1.柱状图与堆叠图fig,axes = plt.subplots(4,1,figsize = (10,10))s = pd.Series(np.random.randint(0,10,16),index = list('abcdefghijklmnop')) df = pd.DataFrame(np.random.rand(10,3), columns=['a','b','c'])s....原创 2020-04-26 21:26:26 · 1781 阅读 · 0 评论 -
Python数据分析实战【第三章】3.6-Matplotlib基本图表绘制【python】
【课程3.6】 基本图表绘制 plt.plot()图表类别:线形图、柱状图、密度图,以横纵坐标两个维度为主同时可延展出多种其他图表样式plt.plot(kind='line', ax=None, figsize=None, use_index=True, title=None, grid=None, legend=False, style=None, logx=False, logy=Fa...原创 2020-04-26 18:53:09 · 373 阅读 · 0 评论 -
Python数据分析实战【第三章】3.5-Matplotlib子图【python】
【课程3.5】 子图在matplotlib中,整个图像为一个Figure对象在Figure对象中可以包含一个或者多个Axes对象每个Axes(ax)对象都是一个拥有自己坐标系统的绘图区域plt.figure, plt.subplot1.plt.figure() 绘图对象# plt.figure(num=None, figsize=None, dpi=None, facecolor=No...原创 2020-04-25 23:44:54 · 273 阅读 · 0 评论 -
Python数据分析实战【第三章】3.3-Matplotlib 图表的样式参数【python】
【课程3.3】 图表的样式参数linestyle、style、color、marker1.linestyle参数plt.plot([i**2 for i in range(100)], linestyle = '-.')# '-' solid line style# '--' dashed line style# '-.' dash-d...原创 2020-04-25 21:19:16 · 253 阅读 · 0 评论 -
Python数据分析实战【第三章】3.2-Matplotlib图表的基本元素【python】
【课程3.2】 图表的基本元素图表内基本参数设置1.图名,图例,轴标签,轴边界,轴刻度,轴刻度标签等df = pd.DataFrame(np.random.rand(10,2),columns=['A','B'])fig = df.plot(figsize=(6,4))# figsize:创建图表窗口,设置窗口大小# 创建图表对象,并赋值与figplt.title('Interes...原创 2020-04-25 18:03:33 · 217 阅读 · 0 评论 -
Python数据分析实战【第三章】3.1-Matplotlib简介及图表窗口【python】
【课程3.1】 Matplotlib简介及图表窗口Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python、numpy、pandas基本数据结构,运营高效且有较丰富的图表库1.图表窗口1 → plt.show()import numpy as npimport pandas as pdimport matplotlib.pyplot as plt...原创 2020-04-25 16:33:57 · 376 阅读 · 0 评论 -
Python数据分析实战【第三章】2.21-Pandas数据读取【python】
【课程2.22】 数据读取核心:read_table, read_csv, read_excel1.读取普通分隔数据:read_table# 可以读取txt,csvimport osos.chdir('C:/Users/Hjx/Desktop/')data1 = pd.read_table('data1.txt', delimiter=',',header = 0, index_c...原创 2020-04-24 17:29:23 · 168 阅读 · 0 评论 -
Python数据分析实战【第三章】2.21-透视表及交叉表【python】
【课程2.21】 透视表及交叉表类似excel数据透视 - pivot table / crosstab1.透视表:pivot_table# pd.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, marg...原创 2020-04-24 17:12:25 · 333 阅读 · 0 评论 -
Python数据分析实战【第三章】2.20-分组转换及一般性“拆分-应用-合并”【python】
【课程2.20 分组转换及一般性“拆分-应用-合并”】 课程作业1.数据分组转换,transformdf = pd.DataFrame({'data1':np.random.rand(5), 'data2':np.random.rand(5), 'key1':list('aabba'), ...原创 2020-04-24 16:35:56 · 262 阅读 · 0 评论 -
Python数据分析实战【第三章】2.19-Pandas数据分组【python】
【课程2.19】 数据分组分组统计 - groupby功能① 根据某些条件将数据拆分成组② 对每个组独立应用函数③ 将结果合并到一个数据结构中1.分组df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar','foo', 'bar', 'foo', 'foo'], 'B' : ['one', 'on...原创 2020-04-24 15:11:05 · 1074 阅读 · 0 评论 -
Python数据分析实战【第三章】2.18-Pandas去重及替换【python】
【课程2.18】 去重及替换1.去重 .duplicated.duplicated / .replaces = pd.Series([1,1,1,1,2,2,2,3,4,5,5,5,5])print(s.duplicated())print(s[s.duplicated() == False])print('-----')# 判断是否重复# 通过布尔判断,得到不重复的值#通过...原创 2020-04-24 11:13:16 · 132 阅读 · 0 评论 -
Python数据分析实战【第三章】2.17-Pandas连接与修补 concat、combine_first【python】
【课程2.17】 连接与修补 concat、combine_first连接 - 沿轴执行连接操作1.连接:concats1 = pd.Series([1,2,3])s2 = pd.Series([2,3,4])s3 = pd.Series([1,2,3],index = ['a','c','h'])s4 = pd.Series([2,3,4],index = ['b','e','d'...原创 2020-04-23 23:56:33 · 205 阅读 · 0 评论 -
Python数据分析实战【第三章】2.16-Pandas合并 merge、join【python】
【课程2.16】 合并 merge、joinPandas具有全功能的,高性能内存中连接操作,与SQL等关系数据库非常相似1.merge合并 → 类似excel的vlookupdf1 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'], 'A': ['A0', 'A1', 'A2', 'A3'], ...原创 2020-04-23 23:22:41 · 227 阅读 · 0 评论 -
Python数据分析实战【第三章】2.15-文本数据【python】
【课程2.15】 文本数据Pandas针对字符串配备的一套方法,使其易于对数组的每个元素进行操作1.通过str访问,且自动排除丢失/ NA值s = pd.Series(['A','b','C','bbhello','123',np.nan,'hj'])df = pd.DataFrame({'key1':list('abcdef'), 'key2':['h...原创 2020-04-23 22:10:21 · 212 阅读 · 0 评论 -
Python数据分析实战【第三章】2.14-数值计算和统计基础【python】
【课程2.14】 数值计算和统计基础常用数学、统计方法1.基本参数:axis、skipnaimport numpy as npimport pandas as pddf = pd.DataFrame({'key1':[4,5,3,np.nan,2], 'key2':[1,2,np.nan,4,5], 'key3':[...原创 2020-04-23 20:29:51 · 308 阅读 · 0 评论 -
Python数据分析实战【第三章】2.13-时间序列 - 重采样【python】
【课程2.13】 时间序列 - 重采样将时间序列从一个频率转换为另一个频率的过程,且会有数据的结合降采样:高频数据 → 低频数据,eg.以天为频率的数据转为以月为频率的数据升采样:低频数据 → 高频数据,eg.以年为频率的数据转为以月为频率的数据1.重采样:.resample()# 创建一个以天为频率的TimeSeries,重采样为按2天为频率rng = pd.date_range...原创 2020-04-23 13:35:41 · 894 阅读 · 1 评论 -
Python数据分析实战【第三章】2.12- 时间序列 - 索引及切片【python】
【课程2.12】 时间序列 - 索引及切片TimeSeries是Series的一个子类,所以Series索引及数据选取方面的方法基本一样同时TimeSeries通过时间序列有更便捷的方法做索引和切片1.索引from datetime import datetimerng = pd.date_range('2017/1','2017/3')ts = pd.Series(np.rando...原创 2020-04-23 10:50:50 · 595 阅读 · 0 评论 -
Python数据分析实战【第三章】2.11- Pandas时期:Period【python】
【课程2.11】 Pandas时期:Period核心:pd.Period()1.pd.Period()创建时期p = pd.Period('2017', freq = 'M')print(p, type(p))# 生成一个以2017-01开始,月为频率的时间构造器# pd.Period()参数:一个时间戳 + freq 参数 → freq 用于指明该 period 的长度,时间戳则说明...原创 2020-04-23 09:43:33 · 1015 阅读 · 0 评论 -
Python数据分析实战【第三章】2.10-Pandas时间戳索引:DatetimeIndex【python】
【课程2.10】 Pandas时间戳索引:DatetimeIndex核心:pd.date_range()1.pd.DatetimeIndex()与TimeSeries时间序列rng = pd.DatetimeIndex(['12/1/2017','12/2/2017','12/3/2017','12/4/2017','12/5/2017'])print(rng,type(rng))pr...原创 2020-04-23 00:28:17 · 1850 阅读 · 0 评论 -
Python数据分析实战【第三章】2.9-Pandas时刻数据:Timestamp【python】
【课程2.9】 Pandas时刻数据:Timestamp时刻数据代表时间点,是pandas的数据类型,是将值与时间点相关联的最基本类型的时间序列数据pandas.Timestamp()1.pd.Timestamp()import numpy as npimport pandas as pddate1 = datetime.datetime(2016,12,1,12,45,30) ...原创 2020-04-22 21:40:45 · 534 阅读 · 0 评论 -
Python数据分析实战【第三章】2.8-时间模块:datetime【python】
【课程2.8】 时间模块:datetimedatetime模块,主要掌握:datetime.date(), datetime.datetime(), datetime.timedelta()日期解析方法:parser.parse1.datetime.date:date对象import datetime # 也可以写 from datetime import datetoday = ...原创 2020-04-22 20:36:20 · 191 阅读 · 0 评论 -
Python数据分析实战【第三章】2.7-Pandas数据结构Dataframe:基本技巧【python】
【课程2.7】 Pandas数据结构Dataframe:基本技巧数据查看、转置 / 添加、修改、删除值 / 对齐 / 排序1.数据查看、转置df = pd.DataFrame(np.random.rand(16).reshape(8,2)*100, columns = ['a','b'])print(df.head(2))print(df.tail(...原创 2020-04-22 17:39:00 · 340 阅读 · 0 评论 -
Python数据分析实战【第三章】2.6-Pandas数据结构Dataframe:索引【python】
【课程2.6】 Pandas数据结构Dataframe:索引Dataframe既有行索引也有列索引,可以被看做由Series组成的字典(共用一个索引)选择列 / 选择行 / 切片 / 布尔判断1.选择行与列df = pd.DataFrame(np.random.rand(12).reshape(3,4)*100, index = ['one','tw...原创 2020-04-22 13:36:03 · 1158 阅读 · 0 评论 -
Python数据分析实战【第三章】2.5-Pandas数据结构Dataframe:基本概念及创建【python】
【课程2.5】 Pandas数据结构Dataframe:基本概念及创建"二维数组"Dataframe:是一个表格型的数据结构,包含一组有序的列,其列的值类型可以是数值、字符串、布尔值等。Dataframe中的数据以一个或多个二维块存放,不是列表、字典或一维数组结构。1.Dataframe 数据结构# Dataframe是一个表格型的数据结构,“带有标签的二维数组”。# Datafram...原创 2020-04-21 12:51:20 · 386 阅读 · 0 评论 -
Python数据分析实战【第三章】2.4- Pandas数据结构Series:基本技巧【python】
【课程2.4】 Pandas数据结构Series:基本技巧数据查看 / 重新索引 / 对齐 / 添加、修改、删除值1.数据查看s = pd.Series(np.random.rand(50))print(s.head(10))print(s.tail())# .head()查看头部数据# .tail()查看尾部数据# 默认查看5条-------------------------...原创 2020-04-20 23:16:27 · 213 阅读 · 0 评论 -
Python数据分析实战【第三章】2.3- Pandas数据结构Series:索引【python】
【课程2.3】 Pandas数据结构Series:索引 位置下标 / 标签索引 / 切片索引 / 布尔型索引1.位置下标,类似序列s = pd.Series(np.random.rand(5))print(s)print(s[0],type(s[0]),s[0].dtype)print(float(s[0]),type(float(s[0])))#print(s[-1])# 位置下标...原创 2020-04-19 23:57:14 · 299 阅读 · 0 评论 -
Python数据分析实战【第三章】2.2- Pandas数据结构Series:基本概念及创建【python】
【课程2.2】 Pandas数据结构Series:基本概念及创建"一维数组"Serise# Series 数据结构# Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引import numpy as npimport pandas as pd # 导入numpy、pandas模块s = pd.Series(np...原创 2020-04-19 23:20:04 · 378 阅读 · 0 评论 -
Python数据分析实战【第三章】1.6- Numpy数据的输入输出【python】
【课程1.6】 Numpy数据的输入输出numpy读取/写入数组数据、文本数据1.存储数组数据 .npy文件import osos.chdir('C:/Users/Hjx/Desktop/')ar = np.random.rand(5,5)print(ar)np.save('arraydata.npy', ar)# 也可以直接 np.save('C:/Users/Hjx/Desk...原创 2020-04-18 22:46:31 · 234 阅读 · 0 评论 -
Python数据分析实战【第三章】1.5- Numpy随机数【python】
【课程1.5】 Numpy随机数numpy.random包含多种概率分布的随机样本,是数据分析辅助的重点工具之一随机数生成samples = np.random.normal(size=(4,4))print(samples)# 生成一个标准正太分布的4*4样本值--------------------------------------------------------------...原创 2020-04-18 21:44:17 · 619 阅读 · 0 评论 -
Python数据分析实战【第三章】1.4- Numpy索引及切片【python】
【课程1.4】 Numpy索引及切片核心:基本索引及切片 / 布尔型索引及切片1.基本索引及切片ar = np.arange(20)print(ar)print(ar[4])print(ar[3:6])print('-----')# 一维数组索引及切片ar = np.arange(16).reshape(4,4)print(ar, '数组轴数为%i' %ar.ndim) ...原创 2020-04-18 17:40:03 · 834 阅读 · 0 评论 -
Python数据分析实战【第三章】1.3- Numpy通用函数【python】
【课程1.3】 Numpy通用函数基本操作1.数组形状:.T/.reshape()/.resize()ar1 = np.arange(10)ar2 = np.ones((5,2))print(ar1,'\n',ar1.T)print(ar2,'\n',ar2.T)print('------')# .T方法:转置,例如原shape为(3,4)/(2,3,4),转置结果为(4,3)/(...原创 2020-04-18 16:09:36 · 1043 阅读 · 0 评论 -
Python数据分析实战【第三章】1.2- Numpy基础数据结构【python】
NumPy数组是一个多维数组对象,称为ndarray。其由两部分组成:① 实际的数据② 描述这些数据的元数据原创 2020-04-17 22:45:58 · 1031 阅读 · 0 评论 -
Python数据分析实战02-基于Python的算法函数创建
题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的两位数?都是多少?该题目不用创建函数for i in range(1,5): for j in range(1,5): if i!=j : print('%i%i'%i%j)题目3:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。该题目不需要创建函数st = input('请输入一行字符...原创 2020-04-17 10:47:05 · 147 阅读 · 0 评论