IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 数据处理--pandas(上) -> 正文阅读

[Python知识库]数据处理--pandas(上)


提示:以下是本篇文章正文内容,下面案例可供参考

一、Pandas是什么?

pandas是Python在数据处理方面功能最为强大的扩展模块了。在在Python中,pandas包含了高级的数据结构Series和DataFrame,使得在Python中处理数据变得非常方便、快速和简单。

二、Pandas使用方法

1.引入库

import numpy as np
import pandas as pd

pandas主要的两个数据结构是Series和DataFrame,我们先导入它们以及相关模块:

import numpy as np
from pandas import Series, DataFrame

2.Series对象

2.1 创建对象

2.1.1 使用数组创建对象

Series可以简单地被认为是一维的数组。Series和一维数组最主要的区别在于Series类型具有索引(index),可以和另一个编程中常见的数据结构哈希(Hash)联系起来。

a = np.arange(10)
# array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
s = Series(a)

#0    0
#1    1
#2    2
#3    3
#4    4
#5    5
#6    6
#7    7
#8    8
#9    9
#dtype: int32

可以在创建Series时添加index,并可使用Series.index查看具体的index。需要注意的一点是。当从数组创建Series时若指定index,那么index长度要和data的长度一样,否则会报错

s = Series(a[:5], index=['a', 'b', 'c', 'd', 'e'])
# a    0
# b    1
# c    2
# d    3
# e    4
# dtype: int32

2.1.2 使用字典创建对象

Series还可以从字典(dict)创建:

d = {'a': 0., 'b': 1, 'c': 2}
s = Series(d)
#a    0.0
#b    1.0
#c    2.0
#dtype: float64

使用字典创建Series时指定index的情形(index长度不必和字典相同)

s=Series(d,index=['a','b','c','d','e'])
a    0.0
b    1.0
c    2.0
d    NaN
e    NaN
dtype: float64

一是字典创建的Series,数据将按index的顺序重新排列;二是index长度可以和字典长度不一致。如果多了的话,pandas将自动为多余的index分配NaN;少了的话,自动截取字典

2.2 Series数据的访问

访问Series数据可以和数组一样使用下标,也可以像字典一样使用索引,还可以使用一些条件过滤。

s[0] # 0.0 
s[:2] # 获取下标从0到2的元素
# 结果为
#a    0.0
#b    1.0
#dtype: float64

# s[['b', 'a']] # 获取index为a和b的元素
s[[1,0]] # 获取下标从1和0的元素
# 结果为
#b    1.0
#a    0.0
#dtype: float64
s[s > 0.5] #查看大于0.5元素的值
#b    1.0
#c    2.0
#dtype: float64

3.DataFrame对象

DataFrame是将数个Series按列合并而成的二维数据结构,每一列单独取出来是一个Series

3.1 创建DataFrame对象

d = {'one': Series([1., 2., 3.], index=['a', 'b', 'c']), 'two': Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
df = DataFrame(d)

结果为:


    one	two
a	1.0	1.0
b	2.0	2.0
c	3.0	3.0
d	NaN	4.0

可以使用dataframe.index和dataframe.columns来查看DataFrame的行和列,dataframe.values则以数组的形式返回DataFrame的元素:

df.index #Index(['a', 'b', 'c', 'd'], dtype='object')
df.columns #Index(['one', 'two'], dtype='object')
df.values 
#array([[ 1.,  1.],
#       [ 2.,  2.],
#       [ 3.,  3.],
#       [nan,  4.]])

DataFrame也可以从值是数组的字典创建,但是各个数组的长度需要相同

d = {'one': [1., 2., 3., 4.], 'two': [4., 3., 2., 1.]}
df = DataFrame(d, index=['a', 'b', 'c', 'd'])
    one	two
a	1.0	4.0
b	2.0	3.0
c	3.0	2.0
d	4.0	1.0

值非数组时,没有这一限制,并且缺失值补成NaN

d= [{'a': 1.6, 'b': 2}, {'a': 3, 'b': 6, 'c': 9}]
df = DataFrame(d)
     a	b	c
0	1.6	2	NaN
1	3.0	6	9.0

在实际处理数据时,有时需要创建一个空的DataFrame

df = DataFrame()

3.2 使用concat函数基于Serie或者DataFrame创建一个DataFrame

a = Series(range(5))
b = Series(np.linspace(4, 20, 5))
df = pd.concat([a, b], axis=1)

    0	1
0	0	4.0
1	1	8.0
2	2	12.0
3	3	16.0
4	4	20.0

3.3 DataFrame数据的访问

df[1]# 选取第2列的元素Series对象
0     4.0
1     8.0
2    12.0
3    16.0
4    20.0
Name: 1, dtype: float64

选取行

df.iloc[1]# 选取第一行
0    1.0
1    8.0
Name: 1, dtype: float64

选取行还可以使用切片的方式或者是布尔类型的向量:

df[1:3] 

    0	1
1	1	8.0
2	2	12.0

总结

本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-07 12:01:58  更:2021-08-07 12:02:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 1:09:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计