前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【数据分析可视化】Series和Dataframe的Reindexing

【数据分析可视化】Series和Dataframe的Reindexing

作者头像
瑞新
发布2020-07-07 20:01:30
3310
发布2020-07-07 20:01:30
举报
代码语言:javascript
复制
import numpy as np
import pandas as pd
from pandas import Series, DataFrame

Series reindex

代码语言:javascript
复制
s1 =  Series([1,2,3,4], index=['A','B','C','D'])
s1
代码语言:javascript
复制
A    1
B    2
C    3
D    4
dtype: int64
代码语言:javascript
复制
 # reindex新的Series索引 (查看参数快捷键shift+tab)
s1.reindex(index=['A','B','C','D','E'])
代码语言:javascript
复制
A    1.0
B    2.0
C    3.0
D    4.0
E    NaN
dtype: float64
代码语言:javascript
复制
# reindex并给空值索引赋值
s1.reindex(index=['A','B','C','D','E'],fill_value=10)
代码语言:javascript
复制
A     1
B     2
C     3
D     4
E    10
dtype: int64
代码语言:javascript
复制
# 测试reindex的赋值方式
s2 = Series(['A','B','C'],index=[1,5,10])
s2
代码语言:javascript
复制
1     A
5     B
10    C
dtype: object
代码语言:javascript
复制
# 重新索引
s2.reindex(index=range(15))
代码语言:javascript
复制
0     NaN
1       A
2     NaN
3     NaN
4     NaN
5       B
6     NaN
7     NaN
8     NaN
9     NaN
10      C
11    NaN
12    NaN
13    NaN
14    NaN
dtype: object
代码语言:javascript
复制
# 函数填充值(ffill函数将重新索引前安装区间范围依次赋值)
s2.reindex(index=range(15),method='ffill')
代码语言:javascript
复制
0     NaN
1       A
2       A
3       A
4       A
5       B
6       B
7       B
8       B
9       B
10      C
11      C
12      C
13      C
14      C
dtype: object

DataFrame reindex

代码语言:javascript
复制
# 故意漏掉C
df1 = DataFrame(np.random.rand(25).reshape([5,5]), index=['A','B','D','E','F'], columns=['c1','c2','c3','c4','c5'])
df1

c1

c2

c3

c4

c5

A

0.916976

0.277428

0.487468

0.392332

0.906246

B

0.112718

0.000009

0.958650

0.890877

0.640683

D

0.715841

0.857899

0.834954

0.134856

0.982175

E

0.375207

0.925308

0.734072

0.583107

0.677676

F

0.627784

0.818094

0.636362

0.417960

0.063043

代码语言:javascript
复制
# reindex恢复C-重新索引行
df1.reindex(['A','B','C','D','E','F'])

c1

c2

c3

c4

c5

A

0.916976

0.277428

0.487468

0.392332

0.906246

B

0.112718

0.000009

0.958650

0.890877

0.640683

C

NaN

NaN

NaN

NaN

NaN

D

0.715841

0.857899

0.834954

0.134856

0.982175

E

0.375207

0.925308

0.734072

0.583107

0.677676

F

0.627784

0.818094

0.636362

0.417960

0.063043

代码语言:javascript
复制
# reindex-重新索引列
df1.reindex(columns=['c1','c2','c3','c4','c5','c6'])

c1

c2

c3

c4

c5

c6

A

0.916976

0.277428

0.487468

0.392332

0.906246

NaN

B

0.112718

0.000009

0.958650

0.890877

0.640683

NaN

D

0.715841

0.857899

0.834954

0.134856

0.982175

NaN

E

0.375207

0.925308

0.734072

0.583107

0.677676

NaN

F

0.627784

0.818094

0.636362

0.417960

0.063043

NaN

代码语言:javascript
复制
 # reindex-行列同时重排(新增)
df1.reindex(index=['A','B','C','D','E','F'] ,columns=['c1','c2','c3','c4','c5','c6'])

c1

c2

c3

c4

c5

c6

A

0.916976

0.277428

0.487468

0.392332

0.906246

NaN

B

0.112718

0.000009

0.958650

0.890877

0.640683

NaN

C

NaN

NaN

NaN

NaN

NaN

NaN

D

0.715841

0.857899

0.834954

0.134856

0.982175

NaN

E

0.375207

0.925308

0.734072

0.583107

0.677676

NaN

F

0.627784

0.818094

0.636362

0.417960

0.063043

NaN

代码语言:javascript
复制
# Series(减少)
s1
代码语言:javascript
复制
A    1
B    2
C    3
D    4
dtype: int64
代码语言:javascript
复制
s1.reindex(index=['A','B'])
代码语言:javascript
复制
A    1
B    2
dtype: int64
代码语言:javascript
复制
# reindex-行列同时重排(减少)
df1

c1

c2

c3

c4

c5

A

0.916976

0.277428

0.487468

0.392332

0.906246

B

0.112718

0.000009

0.958650

0.890877

0.640683

D

0.715841

0.857899

0.834954

0.134856

0.982175

E

0.375207

0.925308

0.734072

0.583107

0.677676

F

0.627784

0.818094

0.636362

0.417960

0.063043

代码语言:javascript
复制
df1.reindex(['A','B'])

c1

c2

c3

c4

c5

A

0.916976

0.277428

0.487468

0.392332

0.906246

B

0.112718

0.000009

0.958650

0.890877

0.640683

代码语言:javascript
复制
# 删掉的方法
s1.drop('A')
代码语言:javascript
复制
B    2
C    3
D    4
dtype: int64
代码语言:javascript
复制
# 0行1列
df1.drop('A',axis=0)

c1

c2

c3

c4

c5

B

0.112718

0.000009

0.958650

0.890877

0.640683

D

0.715841

0.857899

0.834954

0.134856

0.982175

E

0.375207

0.925308

0.734072

0.583107

0.677676

F

0.627784

0.818094

0.636362

0.417960

0.063043

代码语言:javascript
复制
df1.drop('c1',axis=1)

c2

c3

c4

c5

A

0.277428

0.487468

0.392332

0.906246

B

0.000009

0.958650

0.890877

0.640683

D

0.857899

0.834954

0.134856

0.982175

E

0.925308

0.734072

0.583107

0.677676

F

0.818094

0.636362

0.417960

0.063043

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Series reindex
  • DataFrame reindex
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档