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

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

内容简介: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

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

查看所有标签

猜你喜欢:

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

Purely Functional Data Structures

Purely Functional Data Structures

Chris Okasaki / Cambridge University Press / 1999-6-13 / USD 49.99

Most books on data structures assume an imperative language such as C or C++. However, data structures for these languages do not always translate well to functional languages such as Standard ML, Ha......一起来看看 《Purely Functional Data Structures》 这本书的介绍吧!

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

在线 XML 格式化压缩工具

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

UNIX 时间戳转换

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

HEX HSV 互换工具