码迷,mamicode.com
首页 > 编程语言 > 详细

利用Python进行数据分析_Pandas_基础_2

时间:2018-02-09 20:36:53      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:oat   3.0   dex   post   src   gpo   blog   order   width   

基本功能

重新索引

Series的reindex方法

In [15]: obj = Series([3,2,5,7,6,9,0,1,4,8],index=[a,b,c,d,e,f,g,
    ...: h,i,j])

In [16]: obj1 = obj.reindex([a,b,c,d,e,f,g,h,i,j,k])

In [17]: obj1
Out[17]:
a    3.0
b    2.0
c    5.0
d    7.0
e    6.0
f    9.0
g    0.0
h    1.0
i    4.0
j    8.0
k    NaN
dtype: float64

新索引值当前值缺失,则需要插值

前向值填充method=’ffill’,最后索引j对应的值来填充

In [19]: obj1 = obj.reindex([a,b,c,d,e,f,g,h,i,j,k],metho
    ...: d=ffill)

In [20]: obj1
Out[20]:
a    3
b    2
c    5
d    7
e    6
f    9
g    0
h    1
i    4
j    8
k    8
dtype: int64

前向值搬运method=’pad’,最后索引j对应的值来填充

In [23]: obj1 = obj.reindex([a,b,c,d,e,f,g,h,i,j,k],metho
    ...: d=pad)

In [24]: obj1
Out[24]:
a    3
b    2
c    5
d    7
e    6
f    9
g    0
h    1
i    4
j    8
k    8
dtype: int64

后向值填充method=’bfill’,最后索引j的后面的索引对应的值来填充,j的后一个位置为NaN的空行

In [62]: obj2 = obj.reindex([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘k‘,‘h‘,‘i‘,‘j‘],metho
     ...: d=‘bfill‘)

In [63]: obj2
Out[63]:
a    3.0
b    2.0
c    5.0
d    7.0
e    6.0
f    9.0
g    0.0
k    NaN
h    1.0
i    4.0
j    8.0
dtype: float64

后向值搬运method=’backfill’,最后索引j的后面的索引对应的值来填充,j的后一个位置为NaN的空行

In [64]: obj2 = obj.reindex([a,b,c,d,e,f,g,k,h,i,j],metho
    ...: d=backfill)

In [65]: obj2
Out[65]:
a    3.0
b    2.0
c    5.0
d    7.0
e    6.0
f    9.0
g    0.0
k    NaN
h    1.0
i    4.0
j    8.0
dtype: float64

DataFrame的reindex方法

修改(行)索引、列,或两个都修改。

引入一个序列,则重新索引行,如下:

In [86]: data = {class:[语文,数学,英语],score:[120,130,140]}

In [87]: frame = DataFrame(data)

In [88]: frame
Out[88]:
  class  score
0    语文    120
1    数学    130
2    英语    140

In [89]: frame2 = frame.reindex([0,1,2,3])

In [90]: frame2
Out[90]:
  class  score
0    语文  120.0
1    数学  130.0
2    英语  140.0
3   NaN    NaN

行、列 都修改

In [94]: frame3 = frame.reindex(index=[11,22,33],columns = [a,b,c,d])

In [95]: frame3
Out[95]:
     a   b   c   d
11 NaN NaN NaN NaN
22 NaN NaN NaN NaN
33 NaN NaN NaN NaN

reindex的参数如下:

技术分享图片

删除指定轴(索引)上的项

Series

In [112]: obj = Series([1,2,3,4],index=[a,b,c,d])

In [113]: obj
Out[113]:
a    1
b    2
c    3
d    4
dtype: int64

In [114]: obj1 = obj.drop(c)

In [115]: obj1
Out[115]:
a    1
b    2
d    4
dtype: int64

DataFrame

删除单索引行

In [109]: frame
Out[109]:
  class  score
0    语文    120
1    数学    130
2    英语    140

In [110]: obj = frame.drop(0)

In [111]: obj
Out[111]:
  class  score
1    数学    130
2    英语    140

删除多索引行

In [119]: frame
Out[119]:
  class  score
0    语文    120
1    数学    130
2    英语    140

In [120]: frame.drop([1,2])
Out[120]:
  class  score
0    语文    120

删除多索引行(带axis)

In [130]: frame
Out[130]:
  class  score
0    语文    120
1    数学    130
2    英语    140

In [131]: frame.drop([1,2],axis=0)
Out[131]:
  class  score
0    语文    120

删除列(columns)(带axis)

In [135]: frame
Out[135]:
  class  score
0    语文    120
1    数学    130
2    英语    140

In [136]: frame.drop([class],axis=1)
Out[136]:
   score
0    120
1    130
2    140

其中,axis=0,表示行,axis=1,表示列

利用Python进行数据分析_Pandas_基础_2

标签:oat   3.0   dex   post   src   gpo   blog   order   width   

原文地址:https://www.cnblogs.com/zhouwp/p/8436341.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!