【pandas基础】–数据读取

yizhihongxing

数据读取是第一步,只有成功加载数据之后,后续的操作才有可能。

pandas可以读取和导入各种数据格式的数据,如CSV,Excel,JSON,SQL,HTML等,不需要手动编写复杂的读取代码。

1. 各类数据源

pandas提供了导入各类常用文件格式数据的接口,这里介绍3种最常用的加载数据的接口。

1.1 从 CSV 文件读取数据

读取csv文件的接口:read_csv()

import pandas as pd

# 此csv中包含一些中国人口的统计信息
df = pd.read_csv("/path/to/china-population.csv")

df.head() # 显示前5条数据

image.png

1.2 从 excel 文件读取数据

读取excel文件的接口:read_excel ()
读取excel文件时,默认读取第一个sheet中的数据。

import pandas as pd

# 此excel中的数据与上面csv文件中的一样
df = pd.read_excel("/path/to/china-population.xlsx")

df.head() # 显示前5条数据

image.png

1.3 从网络中读取数据

除了从本地文件中读取数据之外,read_csvread_excel也可以直接从URL读取数据。
比如,上面的csv文件和excel文件可以从下面的地址下载。
http://databook.top:8888/pandas/china-population.csv
http://databook.top:8888/pandas/china-population.xlsx

可以直接将URL传给 read_csvread_excel,不用下载保存本地。

import pandas as pd

df = pd.read_csv("http://databook.top:8888/pandas/china-population.csv")
df_excel = pd.read_excel("http://databook.top:8888/pandas/china-population.xlsx")

2. 不同分隔符

csv 文件中默认用逗号,分隔不同的字段,不过,也有很多csv文件不用逗号分隔,用其他生僻的符号来分隔。

import pandas as pd

df = pd.read_csv("http://databook.top:8888/pandas/china-population-sep.csv")
df.head()

image.png
文件china-population-sep.csv|来分隔不同的字段,直接读取的话,变成只有一个字段。

这时,要明确设置分隔符。

import pandas as pd

df = pd.read_csv("http://databook.top:8888/pandas/china-population-sep.csv", sep="|")
df.head()

image.png
这样就得到了正确的数据结构。

3. 设置列名称

除了可以设置分隔符之外,读取数据时,也可以设置列的名称。
上面的例子中,列的名称都是字母的缩写,读取文件时可以替换成中文名称。

import pandas as pd

df = pd.read_csv(
    "http://databook.top:8888/pandas/china-population-sep.csv",
    sep="|",
    names=["年份数字", "年份", "指标编码", "指标名称", "人口数"],
)
df.head()

image.png

通过names参数设置列的名称,names参数是个列表,其中元素的个数一般与列的数目保持一致。
如果names中元素个数少于列的数目,那么多出来的列会作为索引(关于索引index,后续会详细介绍)。

import pandas as pd

df = pd.read_csv(
    "http://databook.top:8888/pandas/china-population-sep.csv",
    sep="|",
    names=["指标编码", "指标名称", "人口数"],
)
df.head()

image.png

如果 names中元素个数多于列的数目,多出来的元素作为新增的空白列。

import pandas as pd

df = pd.read_csv(
    "http://databook.top:8888/pandas/china-population-sep.csv",
    sep="|",
    names=["年份数字", "年份", "指标编码", "指标名称", "人口数", "列名称", "列名称2"],
)
df.head()

image.png

上面的例子中,我们应该发现了一个问题,设置 names作为新的列名称之后,原有的列名称被当成了实际的数据。
也就是:
image.png

设置新的列名称时,如果数据中包含列名称的话,需要忽略掉这个名称。
设置 header=0,忽略作为标题的第一行。
如果文件本来就没有标题的话,设置 header=None

import pandas as pd

df = pd.read_csv(
    "http://databook.top:8888/pandas/china-population-sep.csv",
    sep="|",
    header=0,
    names=["年份数字", "年份", "指标编码", "指标名称", "人口数"],
)
df.head()

image.png

4. 随机生成数据

pandas支持从很多数据源读取数据,不过,有时候我们只想尝试尝试 pandas中的一些方法,并不想创建数据源。

这时,可以通过 numpy包创建一个随机的二维矩阵,直接将这个二维矩阵的数据导入 pandas即可。
下面的例子创建了一个10行3列的数据集。

import pandas as pd
import numpy as np

data = np.random.rand(10,3)
df = pd.DataFrame(data, columns=["data1", "data2", "data3"])
df.head()

image.png

通过临时创建的随机数据,可以尝试 pandas提供的各类接口。

5. 总结回顾

本篇了主要介绍了数据的读取方法,重点介绍的是 csv 文件的读取方式,因为这是最常用的数据源。
其他数据源的读取方式也大同小异,各种数据源的差异会体现在不同接口的参数上。

本文所用到的数据:

  1. http://databook.top:8888/pandas/china-population.csv
  2. http://databook.top:8888/pandas/china-population-sep.csv
  3. http://databook.top:8888/pandas/china-population.xlsx

本文关联的微信视频号短视频:
pandas01-数据读取.png

原文链接:https://www.cnblogs.com/wang_yb/p/17371731.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:【pandas基础】–数据读取 - Python技术站

(0)
上一篇 2023年5月4日
下一篇 2023年5月4日

相关文章

  • pip报错“TypeError: ‘module’ object is not subscriptable”怎么处理?

    当使用 pip 安装 Python 包时,可能会遇到 “TypeError: ‘module’ object is not subscriptable” 错误。这个错误通常是由于代码中使用了不正确的语法或版本不兼容导致的。以下是详细讲解 pip 报错 “TypeError: ‘module’ object is not subscriptable” 的原因与…

    python 2023年5月4日
    00
  • python语音信号处理详细教程

    Python 语音信号处理详细教程攻略 简介 本教程旨在帮助初学者了解 Python 中的语音信号处理,包括频率、FFT、STFT、滤波、mfcc 等基础操作。本教程适合对语音信号处理感兴趣的人士,对 Python 语言有一定基础,希望能够快速入门语音信号处理的内容。 准备工作 在开始学习本教程之前,请确保已经完成以下准备工作:- 安装 Python 环境(…

    python 2023年6月6日
    00
  • 在PyCharm中三步完成PyPy解释器的配置的方法

    以下是在PyCharm中完成PyPy解释器配置的完整攻略: 步骤1:下载并安装PyPy 首先需要在官网上下载 PyPy 的安装包,选择对应操作系统和Python版本的安装包下载,然后按照常规的安装流程进行安装即可。 示例:假设我们需要在Windows 10上配置 PyPy3.6-7.3.5 起作为解释器。我们可以在 https://www.pypy.org/…

    python 2023年6月5日
    00
  • python3的pip路径在哪

    Python3中的pip是一个用于管理Python包的工具,它可以方便地安装、升级和卸载Python包。在不同的操作系统下,pip的默认路径会有所不同。下面是python3的pip路径的攻略。 Windows系统 在Windows系统下,pip的路径一般位于Python安装目录的Scripts子目录下。如果在安装Python时已经将Python添加到系统环境…

    python 2023年5月14日
    00
  • 使用C++扩展Python的功能详解

    使用C++扩展Python的功能,通常使用C++编写Python扩展模块,以便利用C++的高效性能、高速度和强大功能,提升Python的执行效率和扩展性。下面是使用C++扩展Python功能的完整攻略。 1. 安装相关工具和库 使用C++扩展Python,需要安装相关的工具和库。 首先,需要安装Python的开发环境,可以在官网下载对应系统的Python安装…

    python 2023年5月14日
    00
  • Python连接mssql数据库编码问题解决方法

    Python连接mssql数据库编码问题解决方法 在使用Python连接Microsoft SQL Server (MSSQL)数据库时,可能会遇到编码问题。通常情况下,我们需要解决以下两种编码问题: 数据库编码问题:某些情况下我们需要更改数据库编码以适配Python的默认编码。 查询结果编码问题:查询结果包含了特殊字符时,需要指定字符集编码。 下面我们将详…

    python 2023年5月20日
    00
  • Python变量类型知识点总结

    Python变量类型知识点总结 Python是一个动态类型的语言,它使用变量来存储数据。当我们创建一个变量时,Python会自动为它分配合适的数据类型。Python支持以下基本数据类型: 数字(Numeric) 字符串(String) 列表(List) 元组(Tuple) 集合(Set) 字典(Dict) 布尔(Bool) 数字(Numeric) Pytho…

    python 2023年6月5日
    00
  • Python中类和对象的绑定及非绑定方法详解

    Python中类和对象的绑定及非绑定方法详解 1. 背景 Python作为一门面向对象的语言,类和对象是其中的核心概念。在Python中,类中的定义和方法可以在实例化后被访问和使用。此时,类中的方法可以分为两类:绑定方法和非绑定方法。 2. 绑定方法 绑定方法即在类定义中定义的方法。在调用时,必须通过类的实例来进行访问和调用。绑定方法可以访问类的实例属性,也…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部