Python数据分析与展示:DataFrame类型索引操作-10

简介: Python数据分析与展示:DataFrame类型索引操作-10

DataFrame对象操作

重新索引

.reindex()能够改变或重排Series和DataFrame索引

.reindex(index=None, columns=None,…)的参数

参数

说明

index, columns

新的行列自定义索引

fill_value

重新索引中,用于填充缺失位置的值

method

填充方法, ffill当前值向前填充,bfill向后填充

limit

最大大填充量

copy

默认True,生成新的对象,False时,新旧相等不复制

索引类型

Series和DataFrame的索引是Index类型

Index对象是不可修改类型

索引类型常用方法

方法

说明

.append(idx)

连接另一个Index对象,产生新的Index对象

.diff(idx)

计算差集,产生新的Index对象

.intersection(idx)

计算交集

.union(idx)

计算并集

.delete(loc)

删除loc位置处的元素

.insert(loc,e)

在loc位置增加一个元素e

.drop()能够删除Series和DataFrame指定行或列索引

代码示例

# -*- coding: utf-8 -*-
# @File    : dataframe_demo2.py
# @Date    : 2018-05-20
# DataFrame对象操作
from pandas import DataFrame
dt = {
    "城市": ["北京", "上海", "南京", "天津"],
    "人口": [200, 20, 30, 40],
    "收入": [10, 20, 40, 50]
}
df = DataFrame(dt, index=["c1", "c2", "c3", "c4"])
print(df)
"""
    城市   人口  收入
c1  北京  200  10
c2  上海   20  20
c3  南京   30  40
c4  天津   40  50
"""
# 重新索引行,排序
df2 = df.reindex(index=["c4", "c3", "c2", "c1"])
print(df2)
"""
    城市   人口  收入
c4  天津   40  50
c3  南京   30  40
c2  上海   20  20
c1  北京  200  10
"""
# 重新索引列,排序
df3 = df.reindex(columns=["城市", "收入", "人口"])
print(df3)
"""
    城市  收入   人口
c1  北京  10  200
c2  上海  20   20
c3  南京  40   30
c4  天津  50   40
"""
# 插入列索引
col = df.columns.insert(3, "新增")
print(col)
"""
Index(['城市', '人口', '收入', '新增'], dtype='object')
"""
# 增加数据,默认填充200
df4 = df.reindex(columns=col, fill_value=200)
print(df4)
"""
    城市   人口  收入   新增
c1  北京  200  10  200
c2  上海   20  20  200
c3  南京   30  40  200
c4  天津   40  50  200
"""
# 删除插入索引
nc = df.columns.delete(2)
ni = df.index.insert(5, "c0")
df5 = df.reindex(index=ni, columns=nc)
print(df5)
"""
     城市     人口
c1   北京  200.0
c2   上海   20.0
c3   南京   30.0
c4   天津   40.0
c0  NaN    NaN
"""
# DataFrame删除行
df6 = df5.drop("c1")
print(df6)
"""
     城市    人口
c2   上海  20.0
c3   南京  30.0
c4   天津  40.0
c0  NaN   NaN
"""
# DataFrame删除列
df7 = df6.drop("人口", axis=1)
print(df7)
"""
     城市
c2   上海
c3   南京
c4   天津
c0  NaN
"""


相关文章
|
4月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
85 2
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
192 4
|
4月前
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
87 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
|
19天前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
数据分析之旅:用Python探索世界
数据分析之旅:用Python探索世界
30 2
|
3月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
【9月更文挑战第2天】数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
59 5
|
4月前
|
供应链 数据可视化 数据挖掘
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一
本文详细介绍了第十一届泰迪杯数据挖掘挑战赛B题的解决方案,涵盖了对产品订单数据的深入分析、多种因素对需求量影响的探讨,并建立了数学模型进行未来需求量的预测,同时提供了Python代码实现和结果可视化的方法。
127 3
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一
|
4月前
|
存储 数据挖掘 数据处理
DataFrame探索之旅:如何一眼洞察数据本质,提升你的数据分析能力?
【8月更文挑战第22天】本文通过电商用户订单数据的案例,展示了如何使用Python的pandas库查看DataFrame信息。首先导入数据并使用`head()`, `columns`, `shape`, `describe()`, 和 `dtypes` 方法来快速概览数据的基本特征。接着,通过对数据进行分组操作计算每位顾客的平均订单金额,以此展示初步数据分析的过程。掌握这些技能对于高效的数据分析至关重要。
42 2
|
4月前
|
数据挖掘 大数据 数据处理
数据分析师的秘密武器:精通Pandas DataFrame合并与连接技巧
【8月更文挑战第22天】在数据分析中,Pandas库的DataFrame提供高效的数据合并与连接功能。本文通过实例展示如何按员工ID合并基本信息与薪资信息,并介绍如何基于多列(如员工ID与部门ID)进行更复杂的连接操作。通过调整`merge`函数的`how`参数(如'inner'、'outer'等),可实现不同类型的连接。此外,还介绍了使用`join`方法根据索引快速连接数据,这对于处理大数据集尤其有用。掌握这些技巧能显著提升数据分析的能力。
71 1
|
4月前
|
机器学习/深度学习 数据可视化 API
Python Numpy 切片和索引(高级索引、布尔索引、花式索引)
Python Numpy 切片和索引(高级索引、布尔索引、花式索引)
48 3