//2019.07.18
pyhton中pandas数据分析学习——第二部分
2.1 数据格式转换
1、查看与转换表格某一列的数据格式:
(1)查看数据类型:某一列的数据格式:df["列属性名称"].dtype
(2)数据类型转换:某一列的数据类型转换需要用到数据转换函数:
df[列属性名称]=df[列属性名称].astype("新的数据类型")
代码举例如下:
import numpy as np
import pandas as pd
df=pd.read_excel("D:/Byrbt2018/Study/Python数据分析课程+练习+讲解/Python数据分析课程+练习+讲解/作业/作业4/作业4/酒店数据1.xlsx")
print(df)
print(df["评分"].dtype) #查看类型这一列的数据类型
print(df["评分"])
df["评分"]=df["评分"].astype("int") #进行数据表格的数据类型转换需要用到数据类型转换函数df["列名称"].astype("类型名称”)
print(df["评分"])
print(df["评分"].dtype)

2.2 数据的排序
1、单个表格列数据的排序需要用到函数:
df.sort_values(by=列名称,ascending=True(升)/False(降))
print(df.sort_values(by="评分",ascending=False)["评分"])
2、多排序问题:
对于多列排序问题,主要是遇到其中一个列数据相同的时候需要看另外一个列数据进行排序,使用的函数及其使用规则如下:
df.sort_values(by=[列1,列2...],ascending=[True,False...])
其中函数参数by=[,,]前后顺序代表了多列排序优先级顺序,ascending=[,,]中False和True代表了相应每列的排序原则(升降))

2.3 基本统计数据分析
1、对于数值型的数据通常都需要进行相应的常见统计数据分析,最常见的描述性统计函数是.describe(),它可以给出数据的多项统计指标
2、对于表格各个列的数据统计指标主要有以下几个函数:
(1)最值:最大值和最小值df[].max()和df[].min()
(2)中位数:df[].median()
(3)平均值:df[].mean()
(4)方差:df[].var()
(5)标准差:df[].std()
(6)求和函数:df[].sum()
(7)相关系数与协方差:
相关系数:df[[1,2...]].corr()
协方差:df[[1,2...]].cov()
(8)计数:
1)对于每一类数据中出现的唯一值统计可以用函数df[列属性].unique()来进行查询,个数的话直接在前面加len就可以了
2)表格中数据的替换:使用函数df[列名称1].replace(A,B,inplace=True)#代表的是将表格中列1的数据中的所有数据A替换为数据B
3)统计出现唯一值的出现次数使用函数df[列].valuecounts()它默认是以降序的排列对每个不同出现的数据进行相关的次数统计输出

2.4数据透视操作和函数
1、数据透视是一个使用广泛并且功能强大的数据信息挖掘功能,它的函数是pd.pivot_table()
2、数据透视函数的参数与使用规则
函数的形式如下:
pd.pivot_table(df,index=[列1,列2...],values=[其余列1,其余列2...],aggfunc=np.sum...,,fill_value=0(处理非数值性质数据),margins=True(总和统计数据),columns=[列1,列2...](只要是指列方向的分层,类似于index的行分层,非必要参数))
具体举例代码如下:
pd.set_option("max_columns",1000)
pd.set_option("max_rows",1000)
#设置pyhton输出数据的行和列的最大行数目(大于设定值之后才会出现省略号)
print(df)
print(pd.pivot_table(df,index="地区")) #输出以地区为属性的各列数据均值
print(pd.pivot_table(df,index=["地区","类型"])) #输出以地区为第一层,类型为第二层的其他各列数据均值
print(pd.pivot_table(df,index=["地区","类型"],values=["价格"]))
print(pd.pivot_table(df,index=["地区","类型"],values=["价格"],aggfunc=[np.sum,np.mean]))
print(pd.pivot_table(df,index=["地区"],values=["评分","价格"],columns=["类型"],aggfunc={"评分":np.mean,"价格":np.sum},fill_value=0))
table=pd.pivot_table(df,index=["地区","类型"],values=["价格"])
#print(table.sort_values(by="评分",ascending=False)) #对于评分进行降序排列
print(table.index)

整体的入门运行代码如下所示(可以直接拷贝运行,含有详细的代码注释,可以轻松帮助你入门理解):

import numpy as npimport pandas as pddf=pd.read_excel("D:/Byrbt2018/Study/Python数据分析课程+练习+讲解/Python数据分析课程+练习+讲解/作业/作业4/作业4/酒店数据1.xlsx")print(df)print(df.index)print(df.columns)print(df[:5])   #输出前5行数据print(df["评分"].dtype)  #查看类型这一列的数据类型print(df["评分"])df["评分"]=df["评分"].astype("int")  #进行数据表格的数据类型转换需要用到数据类型转换函数df["列名称"].astype("类型名称”)print(df["评分"])print(df["评分"].dtype)print(df["地区"].dtype)df["地区"]=df["地区"].astype("str")  #将地区列的数据转换为字符串类型的数据print(df["地区"].dtype)print(df["地区"])

#表格数据的排序print(df.sort_values(by="评分",ascending=False)["评分"]) #数据的排序用函数df.sort_values(by=列名称,ascending=True(升)/False(降))print(df.sort_values(by=["评分","价格"],ascending=False))print(df.sort_values(by=["评分","价格"],ascending=[False,True])[["评分","价格"]])  #多列排序问题(根据参数by=[,,]前后顺序代表了多列排序优先级顺序,ascending=[,,]代表了相应每列的排序原则(升降))

#数据的统计分析与描述print(df.describe())  #给出一个数据表格里面所有列数据是数值型数据的统计指标(包括数据平均值、数目,中值,最小值,最大值)print(df["价格"].mean())#输出价格列数据的平均值print(df["价格"].var()) #输出价格列数据的方差print(df["价格"].max()) #输出价格列数据的最大值print(df["价格"].min()) #输出价格列数据的最小值print(df["价格"].std()) #输出价格的标准差print(df["价格"].median())  #输出价格的中位数print(df[["价格","评分"]].corr())  #输出价格和评分的相关系数print(df[["价格","评分"]].cov())  #输出价格和评分的协方差print(len(df))       #计数统计print(df["评分"].unique())  #查询一列数据中的所有唯一值print(len(df["评分"].unique())) #查询出现唯一不同值的个数df["评分"].replace(4,4.1,inplace=True)  #表格评分数据中的替换(将4替换为4.1)print(df["评分"])print(df["地区"].unique())    #输出所有的唯一值print(len(df["地区"].unique()))  #输出一列数据中不同数据的个数print(df["地区"].value_counts())  #对于每个唯一值出现的个数print(df["地区"].value_counts()[:5]) #输出数据个数前五的地区及其出现的个数

#数据透视函数的使用和功能pd.pivot_table(df,index=[列1,列2...],values=[其余列1,其余列2...],aggfunc=np.sum...,,fill_value=0(处理非数值性质数据),margins=True(总和统计数据),columns=[列1,列2...](只要是指列方向的分层,类似于index的行分层,非必要参数))pd.set_option("max_columns",1000) #设置pyhton输出数据的行和列的最大行数目(大于设定值之后才会出现省略号)pd.set_option("max_rows",1000)print(df)print(pd.pivot_table(df,index="地区")) #输出以地区为属性的各列数据均值print(pd.pivot_table(df,index=["地区","类型"])) #输出以地区为第一层,类型为第二层的其他各列数据均值print(pd.pivot_table(df,index=["地区","类型"],values=["价格"]))print(pd.pivot_table(df,index=["地区","类型"],values=["价格"],aggfunc=[np.sum,np.mean]))print(pd.pivot_table(df,index=["地区"],values=["评分","价格"],columns=["类型"],aggfunc={"评分":np.mean,"价格":np.sum},fill_value=0))table=pd.pivot_table(df,index=["地区","类型"],values=["价格"])#print(table.sort_values(by="评分",ascending=False)) #对于评分进行降序排列print(table.index)

运行结果如下:


转载于:https://www.cnblogs.com/Yanjy-OnlyOne/p/11207278.html

python pandas数据分析基础入门2——(数据格式转换、排序、统计、数据透视表)...相关推荐

  1. Pandas 统计分析基础 笔记5 _任务4.5 创建透视表与交叉表

    文章目录 pandas__任务4.5 创建透视表与交叉表 4.5 创建透视表与交叉表 代码4-67 使用订单号作为透视表索引制作透视表 代码 4-68 修改聚合函数后的透视表 代码 4-69 使用订单 ...

  2. wps2019数据分析加载项_WPS 2019表格中数据透视表插入计算字段操作教程

    电脑越来越普及了,而大家都能熟练的操作电脑,但你知道如何在WPS表格中数据透视表插入计算字段吗?不知道了吧,其实软件操作非常简单,大家只需要按照小编下述所说的方法操作就可以了,下面小编就给大家分享这篇 ...

  3. Python数据分析小技巧:如何在Pandas中实现数据透视表?

    Python数据分析小技巧:如何在Pandas中实现数据透视表? 数据透视表是数据分析中非常有用的工具,可以帮助我们快速了解数据的结构.关联和趋势.在Pandas中,我们可以使用pivot_table ...

  4. 利用excel与Pandas完成实现数据透视表(文末赠书)

         文末赠书 数据透视表是一种分类汇总数据的方法.本文章将会介绍如何用Pandas完成数据透视表的制作和常用操作. 1,制作数据透视表 制作数据透视表的时候,要确定这几个部分:行字段.列字段.数 ...

  5. 利用excel与Pandas完成实现数据透视表

    数据透视表是一种分类汇总数据的方法.本文章将会介绍如何用Pandas完成数据透视表的制作和常用操作. 1,制作数据透视表 制作数据透视表的时候,要确定这几个部分:行字段.列字段.数据区,汇总函数.数据 ...

  6. 【转载】使用Pandas创建数据透视表

    使用Pandas创建数据透视表 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas创建数据透视表 目录 pandas.pivot_table() 创建简单的数据透视表 增加一个行维度(inde ...

  7. java数据透视表插件_纯前端表格控件SpreadJS:新增数据透视表插件等,完美呈现强大的Excel数据分析能力...

    SpreadJS是一款基于 HTML5 的纯前端电子表格控件,兼容 450 种以上的 Excel 公式,凭借其 "高性能.跨平台.与 Excel 高度兼容"的产品特性,备受以华为. ...

  8. 用python玩转办公软件(pandas数据分析)入门

    用python玩转办公软件(pandas数据分析)入门 文章目录 用python玩转办公软件(pandas数据分析)入门 1.pandas介绍 2.csv文件介绍 3.pandas常用操作csv (1 ...

  9. Python数据分析——Pandas基础:dt.datetime与pivot_table()数据透视表

    系列文章目录 Chapter 1:创建与探索DF.排序.子集化:Python数据分析--Pandas基础入门+代码(一) Chapter 2:聚合函数,groupby,统计分析:Python数据分析- ...

  10. 一个月学会Python,零基础入门数据分析

    在数据分析领域,python是一个绕不开的知识和工具,如果不会用python就很难说自己会数据分析,但是最近很多想要入门数据分析的小白经常问我,Python怎么入门?Python虽然被称作是" ...

最新文章

  1. 解决Win8下使用net use命令磁盘映射无效的问题
  2. python programming training(四):动态规划
  3. ***F漏洞分析与利用
  4. Java Jackson源码研究 - how is class member attribute information is parsed by Serializer
  5. 分布分析和分组分析_如何通过群组分析对用户进行分组并获得可行的见解
  6. Python 3.9.0a6 已可用于测试
  7. Python风格总结:迭代器与生成器
  8. java中限制多人登录的_Spring Boot + Spring Security 防止用户在多处同时登录(一个用户同时只能登录一次)及源码分析...
  9. python画五角星_Python第25课:海龟绘图_自定义函数的应用
  10. 泛微协同办公系统移动服务器,泛微协同办公平台Ecology系统重装迁移指导手册.pdf...
  11. doPost 乱码问题解决
  12. Hudi-Flink SQL实时读取Hudi表数据
  13. mac iTunes 下载慢,如何加速
  14. vue-router 在ie内核下页面不跳转
  15. vscode配置python环境以及使用json文件配置默认解释器、代码自动保存、pydesigner、kite
  16. 'utf-8' codec can't decode byte 0xb5 in position : invalid start byte
  17. 数据仓库历史数据存储-拉链表
  18. Radware:防御现代鱼叉式网络钓鱼攻击的方法
  19. python电玩城源码_2019最新最全价值2W的微信H5电玩城游戏全套源码+架设教程+配置文档...
  20. ET、LT、EPOLLONESHOT

热门文章

  1. sql注入检测工具之sqlmap
  2. python编程语言可以做游戏吗_用Python编程可以制作掷骰子游戏吗
  3. java资费管理模块_JAVA小区物业收费管理系统设计与实现.doc
  4. 短视频系统行业分析,短视频源码功能剖析
  5. iOS UITableView reloadData/reloadRowsAtIndexPaths 导致键盘收起不能连续输入
  6. pandas的认识与dataframe的认识 day04课件代码
  7. 小米路由php,小米路由器Pro 刷机 OpenWrt
  8. Sqlmap常用命令总结及注入实战(Access、mysql)
  9. 对大学计算机课程老师评价,评价:关于构建大学计算机课程评价体系的思考
  10. java生成zipf分布_数据存储中Zipf分布