Python高性能的数据结构和数据分析工具—pandas

栏目: Python · 发布时间: 5年前

内容简介:pandas 是一个开放源码、BSD许可的库,为Python编程语言提供高性能、易于使用的数据结构和数据分析工具。首先,我们想要用一个第三方提供的库时,我们需要导入我们的项目中,这里我们导入 pandas 和 numpy (numpy 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库)。pandas 的主要数据结构分为 Series 和 DataFrame。

pandas 是一个开放源码、BSD许可的库,为 Python 编程语言提供高性能、易于使用的数据结构和数据分析工具。

pandas 怎么用?

首先,我们想要用一个第三方提供的库时,我们需要导入我们的项目中,这里我们导入 pandas 和 numpy (numpy 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库)。

import numpy as np
import pandas as pd
复制代码

pandas 的主要数据结构分为 Series 和 DataFrame。

Series:它是单列数据,有点像数组,数据是一维的。

DataFrame:可以将它想象成一个关系型数据表格,数据是二维的。

创建 Series 对象:

s = pd.Series([1, 3, 5, np.nan, 6, 8])
s
复制代码

用 NumPy 数组创建 DataFrame 对象,并用数组的 datetime 作为索引:

dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
df
复制代码

用 dict 对象创建 DataFrame 对象:

df2 = pd.DataFrame({'A': 1.,
                    'B': pd.Timestamp('20130102'),
                    'C': pd.Series(1, index=list(range(4)), dtype='float32'),
                    'D': np.array([3] * 4, dtype='int32'),
                    'E': pd.Categorical(["test", "train", "test", "train"]),
                    'F': 'foo'})
fd2
复制代码

显示数据

# 显示 df 的前 5 条数据
df.head()
# 显示 df 的后 3 条数据
df.tail(3)
# 显示 df 的索引
df.index
# 显示 df 所有列
df.columns
复制代码

获取部分数据

# 获取 A 列的数据
df['A']
# 获取下标为 0,1,2 的数据
df[0:3]
# 获取时间段的数据
df['20130102':'20130104']
复制代码

根据标签获取数据

df.loc[:, ['A', 'B']]
df.loc['20130102':'20130104', ['A', 'B']]
df.loc['20130102', ['A', 'B']]
复制代码

根据下标获取数据

df.iloc[3]
df.iloc[3:5, 0:2]
df.iloc[[1, 2, 4], [0, 2]]
复制代码

添加一列新数据 F

s1 = pd.Series([1, 2, 3, 4, 5, 6], index=pd.date_range('20130102', periods=6))
df['F'] = s1
复制代码

更复杂的一些操作,可以使用 apply 方法,传入一个 lambda 函数

df.apply(lambda x: x.max() - x.min())
复制代码

操作 CSV 文件

# 把 df 中的数据写入 foo.csv 文件中
df.to_csv('foo.csv')
# 读取 foo.csv 文件中的数据
pd.read_csv('foo.csv')
复制代码

操作 Excel 文件

# 把 df 中的数据写入 foo.xlsx 文件中
df.to_excel('foo.xlsx', sheet_name='Sheet1')
# 读取 foo.xlsx 文件中的数据
pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])
复制代码

在这篇文章中,我们介绍了 pandas 处理数据的一些基本使用方法。有兴趣的同学可以查看 pandas 官方教程,里面有关于 pandas库 的所有 API,点击查看官网更多API。我们在后面实际操作中,在介绍一些常用的 API。

偷偷告诉大家一个功能强大的机器学习网页运行器,那就是 Google 的一个机器学习实验项目,不需要安装任何东西,使用非常简单。

地址: colab.research.google.com

PS:

清山绿水始于尘,博学多识贵于勤。

我有酒,你有故事吗?

微信公众号:「 清尘闲聊 」。

欢迎一起谈天说地,聊代码。

Python高性能的数据结构和数据分析工具—pandas

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python机器学习基础教程

Python机器学习基础教程

[德]安德里亚斯·穆勒、[美]莎拉·吉多 / 张亮 / 人民邮电出版社 / 2018-1 / 79.00元

本书是机器学习入门书,以Python语言介绍。主要内容包括:机器学习的基本概念及其应用;实践中最常用的机器学习算法以及这些算法的优缺点;在机器学习中待处理数据的呈现方式的重要性,以及应重点关注数据的哪些方面;模型评估和调参的高级方法,重点讲解交叉验证和网格搜索;管道的概念;如何将前面各章的方法应用到文本数据上,还介绍了一些文本特有的处理方法。一起来看看 《Python机器学习基础教程》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具