Python数据分析与展示:Series类型简单操作-8

简介: Python数据分析与展示:Series类型简单操作-8

Pandas是Python第三方库,提供高性能易用数据类型和分析工具


官网文档:http://pandas.pydata.org/pandas-docs/stable/10min.html


引入:


import pandas as pd

1

Pandas基于NumPy实现,常与NumPy和Matplotlib一同使用


两个数据类型:Series, DataFrame


基于上述数据类型的各类操作


基本操作

运算操作

特征类操作

关联类操作

image.png

Series类型

Series类型由一组数据及与之相关的数据索引组成


自动索引

自定义索引

Series是一维带“标签”数组

结构:data_a index_0

Series基本操作类似ndarray和字典,根据索引对齐


Series类型创建:

Python列表,index与列表元素个数一致

标量值,index表达Series类型的尺寸

Python字典,键值对中的“键”是索引,index从字典中进行选择操作

ndarray,索引和数据都可以通过ndarray类型创建

其他函数,range()函数等

Series类型基本操作

Series类型包括index和values两部分


.index 获得索引

.values 获得数据

Series类型的操作类似ndarray类型


索引方法相同,采用[]

NumPy中运算和操作可用于Series类型

可以通过自定义索引的列表进行切片

可以通过自动索引进行切片,如果存在自定义索引,则一同被切片

Series类型的操作类似Python字典类型:


通过自定义索引访问

保留字in操作

使用.get()方法

Series类型对齐操作

Series+ Series

Series类型在运算中会自动对齐不同索引的数据


Series类型name属性

Series对象和索引都可以有一个名字,存储在属性.name中


Series类型的修改

对获取的值进行赋值


代码示例

# -*- coding: utf-8 -*-
# @File    : series_demo.py
# @Date    : 2018-05-19
import pandas as pd
# 创建Series对象
d = pd.Series(range(5))
print(d)
"""
0    0
1    1
2    2
3    3
4    4
dtype: int64
"""
# 计算前N项和
print(d.cumsum())
"""
0     0
1     1
2     3
3     6
4    10
dtype: int64
"""
# 自动索引
d = pd.Series([1, 2, 3, 4, 5])
print(d)
"""
0    1
1    2
2    3
3    4
4    5
dtype: int64
"""
# 自定义索引
d = pd.Series([1, 2, 3, 4, 5], index=["a", "b", "c", "d", "e"])
print(d)
"""
a    1
b    2
c    3
d    4
e    5
dtype: int64
"""
# 从标量值创建, 不能省略index
s = pd.Series(20, index=["a", "b", "c"])
print(s)
"""
a    20
b    20
c    20
dtype: int64
"""
# 从字典类型创建
s = pd.Series({"a": 1, "b": 2, "c": 3})
print(s)
"""
a    1
b    2
c    3
dtype: int64
"""
# index从字典中进行选择操作
s = pd.Series({"a": 1, "b": 2, "c": 3}, index=["c", "a", "b", "d"])
print(s)
"""
c    3.0
a    1.0
b    2.0
d    NaN
dtype: float64
"""
# 从ndarray类型创建
import numpy as np
s = pd.Series(np.arange(5))
print(s)
"""
0    0
1    1
2    2
3    3
4    4
dtype: int32
"""
# 指定索引
s = pd.Series(np.arange(5), index=np.arange(9, 4, -1))
print(s)
"""
9    0
8    1
7    2
6    3
5    4
dtype: int32
"""
# Series基本操作
s = pd.Series([1, 2, 3, 4, 5], index=["a", "b", "c", "d", "e"])
# 获得索引
print(s.index)
# Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
# 获得值
print(s.values)
# [1 2 3 4 5]
# 自动索引和自定义索引并存 但不能混
print(s[0])
# 1
print(s["a"])
# 1
# 切片操作
print(s[["a", "b"]])
"""
a    1
b    2
dtype: int64
"""
# 类似ndarray类型
print(s[:3])
"""
a    1
b    2
c    3
dtype: int64
"""
print(s[s>s.median()])
"""
d    4
e    5
dtype: int64
"""
print(np.exp(s))
"""
a      2.718282
b      7.389056
c     20.085537
d     54.598150
e    148.413159
dtype: float64
"""
# 类似Python字典类型
print("b" in s)
# True
print(s.get("g", 100))
# 100
# Series类型对齐操作
a = pd.Series([1, 2, 3], index=["a", "b", "c"])
b = pd.Series([5, 6, 7, 8], index=["a", "b", "d", "e"])
print(a+b)
"""
a    6.0
b    8.0
c    NaN
d    NaN
e    NaN
dtype: float64
"""
# Series类型name属性
s = pd.Series([1, 2, 3, 4, 5], index=["a", "b", "c", "d", "e"])
s.name="Series"
s.index.name = "索引"
print(s)
"""
索引
a    1
b    2
c    3
d    4
e    5
Name: Series, dtype: int64
"""
# Series修改
s = pd.Series([1, 2, 3, 4, 5], index=["a", "b", "c", "d", "e"])
s[0] = 666
print(s)
"""
0    666
1      2
2      3
3      4
4      5
dtype: int64
"""
s["a", "b"] = 20
print(s)
"""
a    20
b    20
c     3
d     4
e     5
dtype: int64
"""
# Series删除元素
s = pd.Series([1, 2, 3, 4, 5, 6], index=["a", "b", "c", "d", "e", "f"])
print(s)
"""
a    1
b    2
c    3
d    4
e    5
f    6
dtype: int64
"""
s1 = s.drop(["a", "b"])
print(s1)
"""
c    3
d    4
e    5
f    6
dtype: int64
"""
相关文章
|
8月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
481 2
|
9月前
|
数据采集 数据可视化 数据挖掘
Python数据分析实战:Pandas处理结构化数据的核心技巧
在数据驱动时代,结构化数据是分析决策的基础。Python的Pandas库凭借其高效的数据结构和丰富的功能,成为处理结构化数据的利器。本文通过真实场景和代码示例,讲解Pandas的核心操作,包括数据加载、清洗、转换、分析与性能优化,帮助你从数据中提取有价值的洞察,提升数据处理效率。
458 3
|
9月前
|
IDE 开发工具 开发者
Python类型注解:提升代码可读性与健壮性
Python类型注解:提升代码可读性与健壮性
448 102
|
11月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
1275 0
|
8月前
|
数据可视化 大数据 关系型数据库
基于python大数据技术的医疗数据分析与研究
在数字化时代,医疗数据呈爆炸式增长,涵盖患者信息、检查指标、生活方式等。大数据技术助力疾病预测、资源优化与智慧医疗发展,结合Python、MySQL与B/S架构,推动医疗系统高效实现。
|
9月前
|
数据可视化 数据挖掘 大数据
基于python大数据的水文数据分析可视化系统
本研究针对水文数据分析中的整合难、分析单一和可视化不足等问题,提出构建基于Python的水文数据分析可视化系统。通过整合多源数据,结合大数据、云计算与人工智能技术,实现水文数据的高效处理、深度挖掘与直观展示,为水资源管理、防洪减灾和生态保护提供科学决策支持,具有重要的应用价值和社会意义。
|
10月前
|
存储 数据挖掘 大数据
基于python大数据的用户行为数据分析系统
本系统基于Python大数据技术,深入研究用户行为数据分析,结合Pandas、NumPy等工具提升数据处理效率,利用B/S架构与MySQL数据库实现高效存储与访问。研究涵盖技术背景、学术与商业意义、国内外研究现状及PyCharm、Python语言等关键技术,助力企业精准营销与产品优化,具有广泛的应用前景与社会价值。
|
10月前
|
安全 JavaScript Java
Python中None与NoneType的真相:从单例对象到类型系统的深度解析
本文通过10个真实场景,深入解析Python中表示“空值”的None与NoneType。从单例模式、函数返回值,到类型注解、性能优化,全面揭示None在语言设计与实际编程中的核心作用,帮助开发者正确高效地处理“无值”状态,写出更健壮、清晰的Python代码。
891 3
|
10月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
322 0
|
10月前
|
IDE API 开发工具
Python类型注解:让代码“开口说话”的隐形助手
Python类型注解为动态语言增添类型信息,提升代码可读性与健壮性。通过变量、函数参数及返回值的类型标注,配合工具如mypy、IDE智能提示,可提前发现类型错误,降低调试与协作成本。本文详解类型注解的实战技巧、生态支持及最佳实践,助你写出更高质量的Python代码。
461 0

推荐镜像

更多