首页 > 编程语言 > 详细

利用Python进行数据分析-Pandas(第二部分)

时间:2019-11-29 19:28:26      阅读:71      评论:0      收藏:0      [点我收藏+]

上一个章节中我们主要是介绍了pandas两种数据类型的具体属性,这个章节主要介绍操作Series和DataFrame中的数据的基本手段。

重新索引

  pandas对象的一个重要方法是reindex,其作用是创建一个新对象,它的数据符合新的索引:

import pandas as pd

obj = pd.Series([4.5, 7.2, -5.3, 3.6], index=[d, b, a, c])
print(obj)
d    4.5
b    7.2
a   -5.3
c    3.6
dtype: float64

用该Series的reindex将会根据新索引进行重排。如果某个索引值当前不存在,就引入缺失值:

obj2 = obj.reindex([a, b, c, d, e])
print(obj2)
a   -5.3
b    7.2
c    3.6
d    4.5
e    NaN
dtype: float64

对于时间序列这样的有序数据,从新索引时可能需要做一些插值处理。method选项即可达到此目的,例如,使用fill可以实现前向值填充:

obj3 = pd.Series([blue, purple, yellow], index=[0, 2, 4])
print(obj3)
0      blue
2    purple
4    yellow
dtype: object
print(obj3.reindex(range(6), method=ffill))
0      blue
1      blue
2    purple
3    purple
4    yellow
5    yellow
dtype: object

借助DataFrame,reindex可以修改(行)索引和列。只传递一个序列时,会重新索引结果的行:

frame = pd.DataFrame(np.arange(9).reshape(3, 3), index=[a, c, d], columns=[Ohio, Texas, California])
print(frame)
   Ohio  Texas  California
a     0      1           2
c     3      4           5
d     6      7           8
frame2= frame.reindex([a, b, c, d])
print(frame2)
   Ohio  Texas  California
a   0.0    1.0         2.0
b   NaN    NaN         NaN
c   3.0    4.0         5.0
d   6.0    7.0         8.0

列可以用columns关键字重新索引:

states = [Texas, Utah, California]
print(frame.reindex(columns=states))
   Texas  Utah  California
a      1   NaN           2
c      4   NaN           5
d      7   NaN           8

如下列表列出了reindex函数的各参数及说明:

 

利用Python进行数据分析-Pandas(第二部分)

原文:https://www.cnblogs.com/lsyb-python/p/11958734.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!