python2: 0.24.2, doc / python3: 1.1.5, doc / Homepage, github
pandas 是一个 Python 包,提供快速、灵活且富有表现力的数据结构,旨在使“关系”或“标记”数据的处理变得简单直观。 它的目标是成为在 Python 中进行实用的、真实世界数据分析的基本高级构建块。 此外,它还有更广泛的目标,即成为任何语言中最强大、最灵活的开源数据分析/操作工具。 它已经在朝着这个目标前进。
pandas 非常适合多种不同类型的数据:
pandas 的两种主要数据结构,Series(一维)和 DataFrame(二维),处理金融、统计、社会科学和许多工程领域的绝大多数典型用例。 对于 R 用户来说,DataFrame 提供了 R 的“data.frame”提供的一切,甚至更多。 pandas 构建于“NumPy http://www.numpy.org”之上,旨在与许多其他第三方库在科学计算环境中良好集成。
以下是 pandas 擅长的一些事情:
其中许多原则都是为了解决使用其他语言/科学研究环境时经常遇到的缺点。 对于数据科学家来说,处理数据通常分为多个阶段:
整理和清理数据,对其进行分析/建模,然后将分析结果组织成适合绘图或表格显示的形式。 pandas 是完成所有这些任务的理想工具。
import pandas as pd
# 版本
pd.__version__
Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。
Series 由索引(index)和列组成,函数如下:
pandas.Series( data, index, dtype, name, copy)
参数说明:
a = ['Google', 'Software', 'Pretool']
index = ['x', 'y', 'z']
sites = {1: "Google", 2: "Software", 3: "Pretool"}
name = 'sites'
pd.Series(a)
pd.Series(a, index)
pd.Series(sites)
pd.Series(a, index, name)
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。
DataFrame 构造方法如下:
pandas.DataFrame( data, index, columns, dtype, copy)
参数说明:
data = [['Google',10],['Runoob',12],['Wiki',13]]
df = pd.DataFrame(data,columns=['Site','Age'],dtype=float)
data = {'Site':['Google', 'Runoob', 'Wiki'], 'Age':[10, 12, 13]}
df = pd.DataFrame(data)
data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}]
df = pd.DataFrame(data)
data = {"calories": [420, 380, 390],"duration": [50, 40, 45]}
df = pd.DataFrame(data)
# 返回第一行 # 返回第二行 # 返回第一行和第二行
df.loc[0]
df.loc[1]
df.loc[[0, 1]]
index = ["day1", "day2", "day3"]
df = pd.DataFrame(data, index)
df.loc["day2"]
删除包含空字段的行
参数说明:
使用 mean()、median() 和 mode() 方法计算列的均值(所有值加起来的平均值)、中位数值(排序后排在中间的数)和众数(出现频率最高的数)。