位置: IT常识 - 正文

python-数据描述与分析(1)(数据结构—python语言描述)

编辑:rootadmin
数据描述与分析 在进行数据分析之前,我们需要做的事情是对数据有初步的了解,这个了解就涉及对行业的了解和对数据本身的敏感程度,通俗来说就是对数据的分布有大概的理解,此时我们需要工具进行数据的描述,观测数据的形状等;而后才是对数据进行建模分析,挖掘数据中隐藏的位置信息。目前在数据描述和简单分析方面做的比 ...

推荐整理分享python-数据描述与分析(1)(数据结构—python语言描述),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python数据描述性统计,python数据描述性统计,python数据类型及操作,python数据类型及操作,python数据描述与分析,python 数据描述,python数据描述性统计,python数据描述性统计,内容如对您有帮助,希望把文章链接给更多的朋友!

数据描述与分析

在进行数据分析之前,我们需要做的事情是对数据有初步的了解,这个了解就涉及对行业的了解和对数据本身的敏感程度,通俗来说就是对数据的分布有大概的理解,此时我们需要工具进行数据的描述,观测数据的形状等;而后才是对数据进行建模分析,挖掘数据中隐藏的位置信息。目前在数据描述和简单分析方面做的比较好的是Pandas库。当然,它还需要结合我们之前提到的Numpy,Scipy等科学计算相关库才能发挥功效。

1.Pandas 数据结构 在进行Pandas相关介绍时我们首先需要知道的是Pandas 的两个数据结构(即对象)Series 和 DataFrame,这是Pandas的核心结构,掌握了此二者结构和属性要素,会在具体的数据处理过程中如虎添翼。

1.1 Series 简介 Series 是一种类似于以为数据的对象,它由两部分组成,第一部分是一维数据,另外一部分是与此一维数据对应的标签数据。具体如下:

import pandas as pdcenterSeries =pd.Series(["中国科学院","文献情报中心","大楼","北四环西路",])print (centerSeries)#output:0 中国科学院1 文献情报中心2 大楼3 北四环西路dtype: object

因为我们没有指定它的标签数据,而python默认是通过数字排序进行标识,接下来给他添加标示数据,具体如下:

centerSeries =pd.Series(["中国科学院","文献情报中心","大楼","北四环西路",],index=["a","b","c","d"])print (centerSeries) #index的size和Series的size必须一样长,否则报错#output:a 中国科学院b 文献情报中心c 大楼d 北四环西路dtype: object

对比之前的默认标识,我们可以看出它由1,2,3,4变成了a,b,c,d。接下来将解释这样标识的意义,具体如下:

import pandas as pdcenterSeries =pd.Series(["中国科学院","文献情报中心","大楼","北四环西路",],index=["a","b","c","d"])print (centerSeries[0]) #通过一维数组进行获取数据print (centerSeries[1])print (centerSeries["c"]) #通过标识index获取数据print (centerSeries["d"])#output:中国科学院文献情报中心大楼北四环西路

另外,我们可以看到通过一维数组格式获取数据和通过index标识获取数据都可以,这样的index就像曾经学过的数据库中的id列的作用,相当于建立了每个数据的索引。当然,针对Series的操作不只限于此,还有很多需要我们自己去通过“help”查看得到的。

1.2 DataFrame 简介 DataFrame 是一个表格型的数据结构,它包含有列和行的索引,当然你也可以把它看作是由Series组织成的字典。需要说明的是,DataFrame的每一列中不需要数据类型相同,且它的数据是通过一个或者多个二维块进行存放,在了解DataFrame之前如果读者对层次化索引有所了解,那么DataFrame 可能相对容易理解,当然如果读者并不知道何谓层次化索引也没关系,举个例子:他类似于常见的excel的表格格式,可将它理解为一张excel表,具体如下:

#简单的DataFrame 制作#字典格式的数据data = {"name":["国科图","国科图","文献情报中心","文献情报中心"], "year":["2012","2013","2014","2015"], "local":["北四环西路","北四环西路","北四环西路","北四环西路"], "student":["甲","乙","丙","丁"]}centerDF = pd.DataFrame(data)print(centerDF)#output: name year local student0 国科图 2012 北四环西路 甲1 国科图 2013 北四环西路 乙2 文献情报中心 2014 北四环西路 丙3 文献情报中心 2015 北四环西路 丁#调整列的顺序data = {"local":["北四环西路","北四环西路","北四环西路","北四环西路"],"name":["国科图","国科图","文献情报中心","文献情报中心"],"year":["2012","2013","2014","2015"],"student":["甲","乙","丙","丁"]}centerDF = pd.DataFrame(data,columns=["year","name","local","student"])print(centerDF)#output: year name local student0 2012 国科图 北四环西路 甲1 2013 国科图 北四环西路 乙2 2014 文献情报中心 北四环西路 丙3 2015 文献情报中心 北四环西路 丁#更改index的默认设置data = {"name":["国科图","国科图","文献情报中心","文献情报中心"], "year":["2012","2013","2014","2015"], "local":["北四环西路","北四环西路","北四环西路","北四环西路"], "student":["甲","乙","丙","丁"]}centerDF = pd.DataFrame(data,columns=["year","name","local","student"],index=["a","b","c","d"])print(centerDF)#output: year name local studenta 2012 国科图 北四环西路 甲b 2013 国科图 北四环西路 乙c 2014 文献情报中心 北四环西路 丙d 2015 文献情报中心 北四环西路 丁

既然DataFrame 是行列格式的数据,那么理所当然可以通过行、列的方式进行数据获取,按列进行数据据获取,具体如下:

data = {"name":["国科图","国科图","文献情报中心","文献情报中心"], "year":["2012","2013","2014","2015"], "local":["北四环西路","北四环西路","北四环西路","北四环西路"], "student":["甲","乙","丙","丁"]}centerDF = pd.DataFrame(data,columns=["year","name","local","student"],index=["a","b","c","d"])print (centerDF["name"])print (centerDF["student"])#output:a 国科图b 国科图c 文献情报中心d 文献情报中心Name: name, dtype: objecta 甲b 乙c 丙d 丁Name: student, dtype: objectpython-数据描述与分析(1)(数据结构—python语言描述)

另外,可以看出按列进行获取时他们的index标识是相同的,且每一列是一个Series 对象

按行进行数据获取,其实是通过index进行操作,具体如下:

data = {"name":["国科图","国科图","文献情报中心","文献情报中心"], "year":["2012","2013","2014","2015"], "local":["北四环西路","北四环西路","北四环西路","北四环西路"], "student":["甲","乙","丙","丁"]}centerDF = pd.DataFrame(data,columns=["year","name","local","student"],index=["a","b","c","d"])print (centerDF.loc["a"])#在使用进行DataFrame.ix进行表中的数据块选择的时候,会抛出’DataFrame’ object has no attribute ‘ix’,这个是由于在不同的pandas的版本中,DataFrame的相关属性已过期,已不推荐使用导致的。#参考代码先锋网#output:year 2012name 国科图local 北四环西路student 甲Name: a, dtype: object

另外,同样可以看出每一行是一个Series 对象,此时该Series的index其实就是DataFrame 的列名称,综上来看,对于一个DataFrame 来说,它是纵横双向进行索引,只是每个Series(纵横)都共用一个索引而已

1.3 利用Pandas加载、保存数据在进行数据处理时我们首要工作是把数据加载到内存中,这一度成为程序编辑的软肋,但是Pandas包所提供的功能几乎涵盖了大多数的数据处理的加载问题,如read_csv、read_ExcelFile

(1)加载csv格式的数据

import pandas as pddata_csv = pd.read_csv("D:/python_cailiao/test.csv") #它的默认属性有sep=","data_csv#output:school institute grades name0 中国科学院大学 文献情报中心 15级 田鹏伟1 中国科学院大学 文献情报中心 15级 李四2 中国科学院大学 文献情报中心 15级 王五3 中国科学院大学 文献情报中心 15级 张三data_csv = pd.read_csv("D:/python_cailiao/test.csv",sep="#") #更改默认属性sep="#"data_csv#output:school,institute,grades,name0 中国科学院大学,文献情报中心,15级,田鹏伟1 中国科学院大学,文献情报中心,15级,李四2 中国科学院大学,文献情报中心,15级,王五3 中国科学院大学,文献情报中心,15级,张三data_csv = pd.read_csv("D:/python_cailiao/test.csv",header=None,skiprows=[0]) #不要表头Headerdata_csv#output:school institute grades name0 中国科学院大学 文献情报中心 15级 田鹏伟1 中国科学院大学 文献情报中心 15级 李四2 中国科学院大学 文献情报中心 15级 王五3 中国科学院大学 文献情报中心 15级 张三data_csv.columns=["school","institute","grades","name"]data_csv #自行添加表头列#output:school institute grades name0 中国科学院大学 文献情报中心 15级 田鹏伟1 中国科学院大学 文献情报中心 15级 李四2 中国科学院大学 文献情报中心 15级 王五3 中国科学院大学 文献情报中心 15级 张三

另外,综上,通过对csv格式的文件进行读取,我们可以指定读入的格式(sep=","),也可以指定他的header为空None,最后添加column,而之所以可以后来添加的原因是读入的csv已经是DataFrame格式对象

(2)保存csv数据

data_csv.loc[1,"name"]="顾老师"data_csv.to_csv("D:/python_cailiao/save.csv")

(1)加载excel格式的数据

data_excel = pd.read_excel("D:/python_cailiao/excel.xlsx",sheet_name="test")data_excel#output:school institute grades name0 中国科学院大学 文献情报中心 15级 田鹏伟1 中国科学院大学 文献情报中心 15级 李四2 中国科学院大学 文献情报中心 15级 王五3 中国科学院大学 文献情报中心 15级 张三data_excel.loc[1,"name"]="顾立平老师"data_excel#output:school institute grades name0 中国科学院大学 文献情报中心 15级 田鹏伟1 中国科学院大学 文献情报中心 15级 顾立平老师2 中国科学院大学 文献情报中心 15级 王五3 中国科学院大学 文献情报中心 15级 张三

(2)保存数据

data_excel.to_excel("D:/python_cailiao/save.xlsx",sheet_name="test")

另外,对于excel文件来说同csv格式的处理相差无几,但是excel文件在处理时需要指定sheetname属性(读取和写入sheet_name)

参考书目:《数据馆员的python简明手册》

本文链接地址:https://www.jiuchutong.com/zhishi/311569.html 转载请保留说明!

上一篇:js中typeof操作符是什么(js中typeof用法)

下一篇:织梦dedecms显示当前时间日期的代码(将织梦dedecms转换到wordpress)

  • 水星MAC1200R怎么设置访客网络(水星mac1200r怎么判断是千兆)

    水星MAC1200R怎么设置访客网络(水星mac1200r怎么判断是千兆)

  • 小米10青春版充电器是多少w(小米10青春版充电充不进去)

    小米10青春版充电器是多少w(小米10青春版充电充不进去)

  • ar人工智能模型训练一般采用什么计算机(基于人工智能的ar vr 应用开发)

    ar人工智能模型训练一般采用什么计算机(基于人工智能的ar vr 应用开发)

  • iphone11和pro有什么区别(苹果11和pro)

    iphone11和pro有什么区别(苹果11和pro)

  • 小米2s是4g手机吗(小米2s是4g吗)

    小米2s是4g手机吗(小米2s是4g吗)

  • 家用电表能承受多少千瓦(家用电表能承受7千瓦充电桩吗)

    家用电表能承受多少千瓦(家用电表能承受7千瓦充电桩吗)

  • 华为预估保修期和激活日期不一致(华为预估保修期准不准)

    华为预估保修期和激活日期不一致(华为预估保修期准不准)

  • win10电脑网络属性打不开(win10网络类型在哪里设置)

    win10电脑网络属性打不开(win10网络类型在哪里设置)

  • rx vega10相当于什么显卡(rx vega 10显卡怎么样)

    rx vega10相当于什么显卡(rx vega 10显卡怎么样)

  • 手提电脑为什么连接不上WIFI(手提电脑为什么连不上手机热点)

    手提电脑为什么连接不上WIFI(手提电脑为什么连不上手机热点)

  • azw3是什么格式(azw3是什么格式怎么转换mobi)

    azw3是什么格式(azw3是什么格式怎么转换mobi)

  • 网络存储设备有哪些(网络存储设备有哪些种类)

    网络存储设备有哪些(网络存储设备有哪些种类)

  • 小米开启双4g什么意思(小米双4g开关在哪里)

    小米开启双4g什么意思(小米双4g开关在哪里)

  • 主机通常指什么(主机包括什么?)

    主机通常指什么(主机包括什么?)

  • 睡眠模式黑屏怎么唤醒(显示屏睡眠模式进入就会黑屏)

    睡眠模式黑屏怎么唤醒(显示屏睡眠模式进入就会黑屏)

  • 闲鱼怎么用微信登录(闲鱼怎么用微信买)

    闲鱼怎么用微信登录(闲鱼怎么用微信买)

  • 抖音图片怎么卡节奏(抖音图片怎么卡点播放)

    抖音图片怎么卡节奏(抖音图片怎么卡点播放)

  • 小米9返回键在哪里(小米返回键在手机桌面上不显示怎么办)

    小米9返回键在哪里(小米返回键在手机桌面上不显示怎么办)

  • 手机4g+是什么意思(手机4g+是什么意思怎么切换5g)

    手机4g+是什么意思(手机4g+是什么意思怎么切换5g)

  • etc怎么开启蓝牙(万集etc怎么连蓝牙)

    etc怎么开启蓝牙(万集etc怎么连蓝牙)

  • beatssolo3和studio3的区别(耳机beatssolo3)

    beatssolo3和studio3的区别(耳机beatssolo3)

  • 抖音被取关了有通知吗(抖音被取关了我还能看到对方的动态吗)

    抖音被取关了有通知吗(抖音被取关了我还能看到对方的动态吗)

  • 预装正版office是什么意思(预装正版office是永久的吗)

    预装正版office是什么意思(预装正版office是永久的吗)

  • mgasc.exe是什么进程 有什么作用   mgasc进程查询(newacs.exe是什么进程)

    mgasc.exe是什么进程 有什么作用 mgasc进程查询(newacs.exe是什么进程)

  • 数据挖掘(2.3)--数据预处理(数据挖掘期末考试大纲)

    数据挖掘(2.3)--数据预处理(数据挖掘期末考试大纲)

  • vncviewer命令  连接VNC服务器(vnc viewer连接windows)

    vncviewer命令 连接VNC服务器(vnc viewer连接windows)

  • 城镇土地使用税的计税依据
  • 企业取得被投资单位的长期股权可以享有
  • 资源税的计税方法自产
  • 小规模差额申报怎么申报
  • 残疾人就业保障金申报时间
  • 城镇土地使用税纳税义务发生时间
  • 个体工商户定期定额核定
  • 现在会计账簿还需要交印花税吗
  • 工会经费返还怎么使用
  • 技术服务税率是多少 现金
  • 招待费和福利费每年标准
  • 租车纳税
  • 自己开发app能享受医保吗
  • 房地产企业收到定金 什么时候交增值税 账务处理
  • 城市生活垃圾处理与资源化利用工艺设计
  • 企业自有固定资产有哪些
  • 公司购买床垫怎样入账
  • 增值税减免税备案什么时候开始
  • 营运能力指标正常范围
  • 少数股东持股比例
  • 期末增值税进项税大于销项税的金额计入哪里
  • 在windows7提供了一种什么技术
  • 进项票少了怎么办
  • 冲减管理费用的情况
  • 爱沙尼亚的故事
  • 公司给客户报销费用可以吗
  • 2022年苹果iphone14视频配音乐
  • 商业企业会计科目表
  • 银行罚息可不可以扣除
  • 未确认融资费用报表填在哪个科目
  • 微信公众号实现对应查询
  • php合并数组的方法
  • php 微信公众号自定义菜单
  • 查看zip文件命令
  • 公司购买空调属于电子设备吗
  • python 如何
  • 销售产品的包装费
  • 购进农产品直接销售核定农产品增值税进项税额计算表
  • 深入讲解党的创新理论
  • 一次性就业补助金有时间限制吗
  • 纳税信用等级区别在哪
  • 商业承兑贴现几个点
  • 专票和普票都是13个点嘛
  • 天猫账房怎么进去
  • 两个公司开发票
  • 用友t3软件的系统内没有利润表模块
  • 小企业附加税减免政策
  • 餐饮费发票可以抵扣进项税吗
  • 实收资本未到位
  • 公司车辆违章
  • 金税盘减免税款分录
  • 出口免费样品怎么做账
  • 预付账款业务
  • 企业支付宝能买东西吗
  • 增值税结转到本年利润吗
  • 劳动纠纷给员工的建议
  • 建筑企业开具增值税发票
  • 个体户需要报税吗?需要报哪些税?
  • sqlserver如何查询表数据
  • 将u盘制作成u启动u盘启动盘
  • win 10预览版
  • 怎么删除文件的隐藏属性
  • ubuntu基本配置
  • nfs安装配置
  • avgnt.exe
  • windows xp系
  • linux怎么查看
  • url什么意思啊了
  • win8如何调屏幕亮度
  • cocos2d-x 3.3 final 适配安卓5.0机型小记
  • 表单提交servlet
  • 清除电脑开机痕迹
  • unity画面效果润色
  • 使用的拼音
  • node.js安装模式选择
  • using dispose
  • 网页文件的标记是
  • 用javascript
  • 房产税交错了能否退款
  • 德州市国土自然资源局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设