【Python】pandas基础

pandas基础

pandas:主要进行数据清理和数据分析

1、pandas数据结构

1.1 Series

1.1.1 Series可以是一种一维数组型对象

包含一个值序列,并且包含数据标签,称为索引(index)。

  • 创建Series

    创建Series,不指定索引或指定索引

obj = pd.Series([1, 3, 5, 7])

obj = pd.Series([1, 2, 3, 4], index = [‘a‘, ‘b‘, ‘c‘, ‘d‘])

  • 数据访问

Series对象有values和index属性,obj .values和obj .index 分别获取值和索引

obj [‘a‘] >> 1

obj [‘a‘, ‘b‘, ‘d‘]

obj [obj > 2]

1.1.2 Series也可以是一个长度固定的有序字典

‘b’ in obj >> True

可以直接由字典生成Series,假设stata“是一个字典,则

obj1 = Series(stata)

  • 利用函数检查数据缺失:

pd.isnull(obj1)

pd.notnull(obj1)

  • isnull和notnull也是Series的实例方法:

obj.isnull()

obj.notnull()

1.1.3 自动对齐索引功能

obj2 = pd.Series([1, 2, 3, 4], index = [‘a‘, ‘b‘, ‘c‘, ‘d‘])

obj3 = pd.Series([4, 2, 6, 1], index = [‘b‘, ‘c‘, ‘d‘, ‘f‘])

obj4 = obj2 + obj3

输出:

a     NaN
b     6.0
c     5.0
d    10.0
f     NaN
dtype: float64

Series对象自身和其索引都有name属性

obj4.name = ‘population‘
obj4.index.name = ‘state‘
obj4

输出:

state
a     NaN
b     6.0
c     5.0
d    10.0
f     NaN
Name: population, dtype: float64

1.2 DataFrame

DataFrame表示的是矩阵的数据表,它包含已排序的列集合,每一列可以是不同的值类型(数值、字符串、布尔值等),DataFrame即有行索引也有列索引,被视为一个共享相同索引的Series的字典。在DataFrame中,数据被储存为一个以上的二维块,而不是列表、字典或其他一维数组的集合。可以利用分层索引在DataFrame中展现更高维度的数据。

创建,将会按照index顺序排列

data = {‘state‘:[‘ohio‘, ‘ohio‘, ‘ohio‘, ‘Nevada‘, ‘Nevada‘, ‘Nevada‘],
‘year‘:[2000, 2001, 2002, 2003, 2004, 2005],
‘pop‘:[1.5, 1.7, 1.6, 5.0, 2.3, 3.1]}
frame = pd.DataFrame(data)

指定顺序

frame = pd.DataFrame(data, column=[‘year‘, ‘pop‘,‘state‘])

frame

输出:

state year pop
0 ohio 2000 1.5
1 ohio 2001 1.7
2 ohio 2002 1.6
3 Nevada 2003 5.0
4 Nevada 2004 2.3
5 Nevada 2005 3.1

frame.head() #head方法会选出前五行

frame.columns #读取列名

frame.state #读取state列

frame[‘state‘] #读取state列

frame.loc[‘three‘] #读取第3行

列的应用可以修改,若被赋值的列不存在,则会生成新的列

frame[‘debt‘] = 1.6 #在frame的最右侧增加一列debt,值全为1.6

frame[‘debt‘] = np.arange(6) #在frame的最右侧增加一列debt,值为0,1,2,3,4,5

frame[‘eastern‘] = frame.state == ‘ohio‘ #在frame的最右侧增加一列eastern,值为布尔值

del frame[‘eastern‘] #删除eastern列

frame.T #转置frame,和Numpy的语法一致

frame.set_index(‘year‘) # 设置year为索引

frame.reset_index(‘year‘) # 还原索引为默认的整型索引(增加了一列整型索引)

? #reset_index(drop=True)(不增加一列整型索引)

1.3 索引对象

索引对象不可变,用户无法修改索引对象。

2、基本功能

了解与Series或DataFrame中数据交互的基础机制。

2.1 重建索引

reindex方法

obj = pd.Series([4.5, 7.2, -5.3, 3.6], index=[‘d‘,‘b‘,‘a‘,‘c‘])

obj2 = obj.reindex([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) #按照新索引排序obj,索引e的值之前不存在,将引入缺失值(NaN)

reindex方法还可添加参数。

2.2 轴向上删除条目

new_obj = obj2.drop(‘c‘) #删除obj的第三行

frame = frame.dorp([‘Nevada‘]) #删除的Nevada行

.drop还可添加参数

2.3 索引、选择与过滤

选择

obj[‘b‘] #选择索引为b的行

obj[1:3] #选择第1-3行

obj[[1, 3]] #选择第1行和3行

obj[obj < 2] #选择值小于2的行

frame的选择类似,既可以选择行,也可以选择列

还可以使用loc和iloc选择数据

2.4 整数索引

2.5 算术和数据对齐

  • 使用填充值得算术方法

df1.add(df2, fill_value=0) #加法时缺失值补0

还有别的方法:加减乘除、整除、幂次方等

2.6 函数应用和映射

  • Numpy的通用函数对pandas对象也有效

np.abs(frame) #计算frame值得绝对值

  • 可以将函数用于一行或一列

    2.7 排序和排名

    obj.sort_index()

    frame.sort_index(axis = 1)

    frame.sort_values()

3、描述统计性的概述与计算

原文地址:https://www.cnblogs.com/Ireland/p/12382308.html

时间: 2024-10-20 17:11:20

【Python】pandas基础的相关文章

Python 数据分析(一) 本实验将学习 pandas 基础,数据加载、存储与文件格式,数据规整化,绘图和可视化的知识

第1节 pandas 回顾 第2节 读写文本格式的数据 第3节 使用 HTML 和 Web API 第4节 使用数据库 第5节 合并数据集 第6节 重塑和轴向旋转 第7节 数据转换 第8节 字符串操作 第9节 绘图和可视化 pandas 回顾 一.实验简介 学习数据分析的课程,需要同学们掌握好 Python 的语言基础,和对 Numpy 与 Matplotlib 等基本库有一些了解.同学们可以参考学习实验楼的 Python 语言基础教程与 Python 科学计算的课程. pandas 是后面我们

Pandas基础学习与Spark Python初探

摘要:pandas是一个强大的Python数据分析工具包,pandas的两个主要数据结构Series(一维)和DataFrame(二维)处理了金融,统计,社会中的绝大多数典型用例科学,以及许多工程领域.在Spark中,python程序可以方便修改,省去java和scala等的打包环节,如果需要导出文件,可以将数据转为pandas再保存到csv,excel等. 1.Pandas是什么? pandas是一个强大的Python数据分析工具包,是一个提供快速,灵活和表达性数据结构的python包,旨在使

基于 Python 和 Pandas 的数据分析(2) --- Pandas 基础

在这个用 Python 和 Pandas 实现数据分析的教程中, 我们将明确一些 Pandas 基础知识. 加载到 Pandas Dataframe 的数据形式可以很多, 但是通常需要能形成行和列的数据集. 所以可以是如下的 dictionary 的形式: web_stats = {'Day':[1,2,3,4,5,6], 'Visitors':[43,34,65,56,29,76], 'Bounce Rate':[65,67,78,65,45,52]} 我们可以通过如下方式把这个 dictio

python数据处理:pandas基础

本文资料来源: Python for Data Anylysis: Chapter 5 10 mintues to pandas: http://pandas.pydata.org/pandas-docs/stable/10min.html#min 1. Pandas简介 经过数年的发展,pandas已经成为python处理数据中最常被使用的package.以下是开发pandas最开始的目的,也是现在pandas最常用的功能 a: Data structures with labeled axe

python学习笔记(四):pandas基础

pandas 基础 serise import pandas as pd from pandas import Series, DataFrame obj = Series([4, -7, 5, 3]) obj 0 4 1 -7 2 5 3 3 dtype: int64 obj.values array([ 4, -7, 5, 3], dtype=int64) obj.index RangeIndex(start=0, stop=4, step=1) obj[[1,3]] # 跳着选取数据 1

Python pandas 0.19.1 Indexing and Selecting Data文档翻译

最近在写个性化推荐的论文,经常用到Python来处理数据,被pandas和numpy中的数据选取和索引问题绕的比较迷糊,索性把这篇官方文档翻译出来,方便自查和学习,翻译过程中难免很多不到位的地方,但大致能看懂,错误之处欢迎指正~ Python pandas 0.19.1 Indexing and Selecting Data 原文链接 http://pandas.pydata.org/pandas-docs/stable/indexing.html 数据索引和选取 pandas对象中的轴标签信息

pandas基础命令速查表

pandas基础命令速查表 数据的导入 数据的导出 创建测试对象 数据的查看与检查 数据的选取 数据的清洗 数据的过滤(filter)排序(sort)和分组(group) 数据的连接(join)与组合(combine) 一.数据的导入 pd.read_csv(filename) # 导入csv格式文件中的数据 pd.read_table(filename) # 导入有分隔符的文本 (如TSV) 中的数据 pd.read_excel(filename) # 导入Excel格式文件中的数据 pd.r

《Python机器学习基础教程》高清版免费PDF下载

Python机器学习基础教程-[德] 安德里亚斯·穆勒(Andreas C.Müller)[美]莎拉·吉多(Sarah Guido) 著,张亮(hysic) 译 下载地址1:网盘下载 下载地址2:网盘下载 内容简介本书是机器学习入门书,以Python语言介绍.主要内容包括:机器学习的基本概念及其应用:实践中常用的机器学习算法以及这些算法的优缺点:在机器学习中待处理数据的呈现方式的重要性,以及应重点关注数据的哪些方面:模型评估和调参的方法,重点讲解交叉验证和网格搜索:管道的概念:如何将前面各章的方

python机器学习基础教程-鸢尾花分类

一: 环境准备: 1.导入的库: import numpy as np import matplotlib.pyplot as plt import pandas as pd import mglearn 2.导入数据集 from sklearn.datasets import load_iris iris_dataset = load_iris() 二. 划分训练数据和测试数据 1. train_test_split: 将数据集打乱并进行拆分 from sklearn.model_select