美文网首页
用Python进行数据分析 第五章 Pandas入门 Day7

用Python进行数据分析 第五章 Pandas入门 Day7

作者: Jason数据分析生信教室 | 来源:发表于2021-09-08 08:03 被阅读0次

5.2.2 从行/列删除要素

如果你以经拥有索引数组或不含条目的列表,在轴向上删除一个或更多个条目就非常容易。但这样需要一些数据和操作逻辑。通常会使用drop。具体操作如下。

首先是Series

In [39]: obj=pd.Series(np.arange(5.),index=['a','b','c','d','e'])

In [40]: obj
Out[40]: 
a    0.0
b    1.0
c    2.0
d    3.0
e    4.0
dtype: float64

In [41]: new_obj=obj.drop('c')

In [42]: new_obj
Out[42]: 
a    0.0
b    1.0
d    3.0
e    4.0
dtype: float64

In [43]: obj.drop(['d','c'])
Out[43]: 
a    0.0
b    1.0
e    4.0
dtype: float64

然后是DataFrame

索引值可以从轴向上删除。为了表明这个特性,我们可以创建一个DataFrame:

In [44]: data=pd.DataFrame(np.arange(16).reshape((4,4)),
    ...:                   index=['Ohio','Colorado','Utah','New York'],
    ...:                   columns=['one','two','three','four'])

In [45]: data
Out[45]: 
          one  two  three  four
Ohio        0    1      2     3
Colorado    4    5      6     7
Utah        8    9     10    11
New York   12   13     14    15

在调用drop时使用标签序列会根据行标签删除值(轴0):

In [46]: data.drop(['Colorado','Ohio'])
Out[46]: 
          one  two  three  four
Utah        8    9     10    11
New York   12   13     14    15

可以通过定义axis=1或axis='colums'来删除列,不定义axis会报错。

In [47]: data.drop('two',axis=1)
Out[47]: 
          one  three  four
Ohio        0      2     3
Colorado    4      6     7
Utah        8     10    11
New York   12     14    15
data.drop(['two','four'],axis=('columns'))
Out[50]: 
          one  three
Ohio        0      2
Colorado    4      6
Utah        8     10
New York   12     14

还可以用inplace=True的参数在原数据上进行直接修改而不需要返回到新的数据上。

In [51]: obj.drop('c',inplace=True)

In [52]: obj
Out[52]: 
a    0.0
b    1.0
d    3.0
e    4.0
dtype: float64

相关文章

网友评论

      本文标题:用Python进行数据分析 第五章 Pandas入门 Day7

      本文链接:https://www.haomeiwen.com/subject/xukswltx.html