热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Pandas学习之——使用pandas获取数据以及数据概览

1数据获取先引入必要的库importpandasaspdimportnumpyasnp1.1读取数据使用方法:pandas.read_csv()参数ÿ
1 数据获取

先引入必要的库

import pandas as pd
import numpy as np

1.1 读取数据

使用方法:pandas.read_csv()
参数:
(1)文件所在的路径
(2)headers:设置参数headers=None,pandas将不会自动将数据集的第一行设置为列表表头(列名)

other_path = "https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/auto.csv"
df = pd.read_csv(other_path, header=None)

  • 查阅数据集的前n行,使用函数df.head(n);
  • 查阅数据集的倒数后n行,使用函数df.tail(n)

df.head(5)

输出:

在这里插入图片描述

df.tail(10)

输出:
在这里插入图片描述

1.2 为数据集添加列名(表头)

观察上面读取出来的部分数据,pandas自动将列名(表头)设置为从0开始的数字标签。
在这里插入图片描述
需要我们手动添加能够帮助我们更好理解数据的列名:

首先创建出一个列表headers,里面内容就是每列的名称,然后使用方法:df.columns = headers来将列名替换成我们刚才设置的。

headers = ["symboling","normalized-losses","make","fuel-type","aspiration", "num-of-doors","body-style","drive-wheels","engine-location","wheel-base", "length","width","height","curb-weight","engine-type","num-of-cylinders", "engine-size","fuel-system","bore","stroke","compression-ratio","horsepower","peak-rpm","city-mpg","highway-mpg","price"]
df.columns = headers
df.head(10)

输出:
在这里插入图片描述

1.3 删除某些具有空值的“脏数据”


  • 观察上面的部分数据,发现有一些值为“?” 的行代表空值,首先需要先将这些“?”标志替换为NaN,然后使用方法dropna()来移除这些脏数据。

df1=df.replace('?',np.NaN)

  • 下面使用方法dropna来删除脏数据行。

关于方法dropna():
参数:
(1)axis: default 0指删除行,1为删除列
(2)subset:对特定的列进行缺失值删除处理
(3)how: {‘any’, ‘all’}, default ‘any’指带缺失值的所有行;'all’指清除全是缺失值的
(4)thresh:int,保留含有int个非空值的行
(5)inplace:True表示直接在原数据上更改

df=df1.dropna(subset=["price"], axis=0)
df.head(20)

上面的调用,表示,删除“price”列为空值的行。

输出:

在这里插入图片描述
可以看出,原来行9的“price”列为空值,所以行9被删除。

1.4 查看数据的列名列表

df.columns

输出:

在这里插入图片描述

1.5 保存某个数据集

我们可以将处理过的dataframe(df)保存成某种格式(例如:.csv)的文件,方便以后进行读取。
使用方法df.to_csv(“文件要保存的路径”, index = False)

df.to_csv("automobile.csv", index=False)

注:参数index的含义为“是否保留行索引”, 默认为True
关于pandas的to_csv()的使用方法详见这篇博客:
https://blog.csdn.net/toshibahuai/article/details/79034829

  • 当然我们可以读取其他格式的数据,对数据操作完成后,我们也同样可以将数据保存为不同的格式,下图显示了读取其他格式文件以及将数据集保存为其他格式的方法:
    在这里插入图片描述

2 数据概览

2.1 查看每列数据的类型

dataframe的属性dtypes可以返回表示每列数据名称及类型的列表:

print(df.dtypes)

输出:
第一列为列名,第二列为数据的类型
在这里插入图片描述

2.2 获取每列数据的统计特征(eg:总行数,列数据的平均值、标准差,etc)

使用:dataframe.describe()即可查看每列数据的
(1)总行数统计count
(2)平均值mean
(3)标准差std
(4)最小值min
(5)25%分位值“25%”
(6)50%分位值“50%”
(7)75%分位值“75%”
(8)最大值max

df.describe()

输出:
在这里插入图片描述注意:方法describe()只统计(没有任何参数的情况下)数据类型(numeric-typed数据类型,例如int,float等)列的统计特征,并且会自动NaN值。

如果我们想查看所有列的统计特征(即包括非数据类型的列,例如object类型的列),就需要在describe()方法中添加参数(include = “all”)

df.describe(include = "all")

输出:
在这里插入图片描述

2.3 获取指定列的统计学特征

使用如下语句:

dataframe[[‘column1’, ‘column2’, ‘column3’]].describe()

df[['length', 'compression-ratio']].describe()

输出:

在这里插入图片描述

2.4 使用方法info()来查看dataframe的简介描述

使用如下语句:
dataframe.info()

此方法打印有关dataframe的信息,包括索引dtype和列、非空值和内存使用情况。

df.info()

输出:

在这里插入图片描述
在这里插入图片描述

2.5 查看数据的行数及列数

通过属性shape,获取数据集的(行数,列数)

ratings_df.shape

输出:
(463, 19)


推荐阅读
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 怀疑是每次都在新建文件,具体代码如下 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
author-avatar
神秘的sy0001
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有