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

举报
彭世瑜 发表于 2021/08/13 23:40:44 2021/08/13
【摘要】 DataFrame对象操作 重新索引 .reindex()能够改变或重排Series和DataFrame索引 .reindex(index=None, columns=None,…)的参数 参数说明index, columns新的行列自定义索引fill_value重新索引中,用于填充缺失位置的值method填充方法, ffill当前值向前填充,bfill向后填充...

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
"""
  
 

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/80384628

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。