首页 > 开发 > Python > 正文

Python数据分析pandas模块用法实例详解

2024-09-09 19:03:01
字体:
来源:转载
供稿:网友

本文实例讲述了Python数据分析pandas模块用法。分享给大家供大家参考,具体如下:

pandas

pandas10分钟入门,可以查看官网:10 minutes to pandas

也可以查看更复杂的cookbook

pandas是非常强大的数据分析包,pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包。就好比 Numpy的核心是 ndarray,pandas 围绕着 Series 和 DataFrame 两个核心数据结构展开 。Series和DataFrame 分别对应于一维的序列和二维表结构。

创建对象

常规导入方式:

import pandas as pdimport numpy as npimport matplotlib.pyplot as plt

Series

Series 可以看做一个定长的有序字典,它是能够保存任何数据类型(整数,字符串,浮点数,Python对象等)的一维标记数组。 Series对象包含两个主要的属性:index 和 values。 数据可以是Python字典、 ndarray、scalar value标量值(如5)等 创建时有没有index都会设置默认下标,但是索引用的是数组时会默认使用创建时的索引 创建时还可以指定name名字属性,之后可以修改 rename
ser1 = pd.Series(range(10,15),index=list('ABCDE'))print(ser1)# 下标和索引等同print(ser1['A'])print(ser1[0])

输出:

A    10
B    11
C    12
D    13
E    14
dtype: int64
10
10

取连续多个数据时,下标取值不包含结束位置,索引切片包括结束位置

print(ser1['A':'D'])print(ser1[0:3])

输出:

A    10
B    11
C    12
D    13
dtype: int64
A    10
B    11
C    12
dtype: int64

取多个数据、条件筛选(布尔索引)

# 注意里面是一个列表print(ser1[[0,1,3]])# 布尔索引print(ser1[(ser1>12)&(ser1<15)])

DataFrame

DataFrame是二维标记数据结构。 您可以将其视为电子表格或SQL表,或Series对象。 它通常是最常用的pandans对象。 像Series一样,DataFrame接受许多不同种类的输入:

Dict of 1D ndarrays, lists, dicts, or Series 2-D numpy.ndarray Structured or record ndarray A Series Another DataFrame
df1 = pd.DataFrame(np.random.randint(10,50,(3,4)), - index=list('ABC'),columns=list('abcd'))
index是行索引,colums是列索引 用字典创建时,键名就是列索引,而且键值可以为列表,会自动补齐

取单行或单列数据,取单个数据

# 列取值,取出的是一个series对象print(df1['a'])print(df1['a'].values)# 取出一行数据的某一行数据,也就是单个数据print(df1['a']['B']) # 这两个一样print(df1['a'][1])

取不连续多列,取连续多列(默认不支持连续,需要高级索引)

# 取不连续多列print(df1[['a','c']])

行索引,可以直接切片,但是默认不能不连续多行取值,下标同理

print('行索引取值##############')print(df1['A':'A'])# 取连续多行就是df1['A':'C']

高级索引(花式索引)

一般情况用于DataFrame,这里直接略过Series

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表