登录 |  注册 |  繁體中文


Pandas 的常见使用方法

分类: python 颜色:橙色 默认  字号: 阅读(758) | 评论(0)

什么是Pandas?

Pandas的名称来自于面板数据(panel data)和Python数据分析(data analysis)。

Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了 高级数据结构数据操作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一。

  • 一个强大的分析和操作大型结构化数据集所需的工具集

  • 基础是NumPy,提供了高性能矩阵的运算

  • 提供了大量能够快速便捷地处理数据的函数和方法

  • 应用于数据挖掘,数据分析

  • 提供数据清洗功能

  • Series和DataFrame中的索引都是Index对象,索引对象不可变,保证了数据的安全

  • Index对象种类Index,索引;Int64Index,整数索引;MultiIndex,层级索引;DatetimeIndex,时间戳类型

Pandas有两个最主要也是最重要的数据结构: Series 和 DataFrame

import pandas as pd   # 导包

Series

Series是一种类似于一维数组的 对象,由一组数据(各种NumPy数据类型)以及一组与之对应的索引(数据标签)组成。

  • 类似一维数组的对象
  • 由数据和索引组成
    • 索引(index)在左,数据(values)在右
    • 索引是自动创建的

1. Series的创建

操作 代码实现 返回值 说明

通过list构建Series

pd.Series(range(10)) 新Series 自动生成索引
pd.Series(range(3), index = ['a', 'b', 'c']) 新Series 自定义索引

通过dict构建Series

pd.Series(dict) 新Series dict的key为索引,value为元素

2. Series的相关操作

操作 代码实现 返回值 说明
获取前n行数据 series.head(3) 新Series 获取前三行,默认获取前五行
获取后n行数据 series.tail(3) 新Series 获取后三行,默认获取后五行
获取index series.index RangeIndex 获取index
获取values series.values ndarray一维数组 获取所有values
运算 series * 2 新Series 索引与数据的对应关系不被运算结果影响
series > 15 新Series(bool)  
name属性 对象名 series.name 新Series  
对象索引名 series.index.name 新Series  
利用index取值 series[index]
series['b']
对应的value值  
利用index切片 series[2:4]
series['b':'d']
新Series 按索引名切片操作时,是包含终止索引的
不连续索引 series[[0,2,4]]
series[['b','d']]
新Series 注意是双层中括号[[…,…,…,]]
布尔索引 series1 = series > 2
series2[series1]
新Series  

DataFrame(Series容器)

DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同类型的值。DataFrame既有行索引也有列索引,它可以被看做是由Series组成的字典(共用同一个索引),数据是以二维结构存放的。

  • 类似多维数组/表格数据 (如,excel, R中的data.frame)
  • 每列数据可以是不同的类型
  • 索引包括列索引和行索引

1. DataFrame的创建

操作 代码实现 返回值 说明

通过ndarray构建DataFrame

pd.DataFrame(array)

pd.DataFrame(np.random.randn(3,4), columns = ['a', 'b', 'c','d'])

新DataFrame

通过多维数组(二维)构建DataFrame,自动生成行索引和列标签(列索引)

columns 指定列索引名

通过dict构建DataFrame

pd.DataFrame(dict) 新DataFrame dict的key为列标签,value为元素,自动生成行索引
dict = {'A': 1,
'B': pd.Timestamp('20190616'),
'C': pd.Series(1, index=list(range(4)),dtype='float32'),
'D': np.array([3] * 4,dtype='int32'),
'E': ["Python","Java","C++","C"],
'F': 'tiger' }

2. DataFrame的相关操作

操作 代码实现 返回值 说明
获取前n行 dataframe.head(3) 新DataFrame 获取前三行,默认获取前五行
获取后n行 dataframe.tail(3) 新DataFrame 获取后三行,默认获取后五行

shape

dataframe.shape 元组 返回dataframe形状
获取index dataframe.index RangeIndex 获取index

columns

dataframe.columns RangeIndex DataFrame的列索引列表
获取values dataframe.values ndarray二维数组 获取所有values
获取列数据 dataframe['A'] <=> dataframe.A 新Series 通过列索引获取列数据
dataframe[['A']] 新DataFrame(只有一列) 注意是双层中括号[[…,…,…,]]
增加列数据 dataframe['G'] = series
dataframe['G'] = dataframe['A'] + 4
新DataFrame 类似Python的dict添加key-value
删除列数据 del(dataframe['G']) None  
不连续索引 dataframe[['a','c']] 新DataFrame 注意是双层中括号[[…,…,…,]]



姓 名: *
邮 箱:
内 容: *
验证码: 点击刷新 *   

回到顶部