Pandas基础-第4关:数据的基本操作——删除

任务描述

本关任务:根据编程要求,完成相关代码的编写。

相关知识
删除指定轴上的项

即删除Series的元素或DataFrame的某一行(列)的意思,我们可以通过对象的drop(labels, axis=0)方法实现此功能。

删除Series的一个元素:

 
 
  1. In[11]: ser = Series([4.5,7.2,-5.3,3.6], index=['d','b','a','c'])
  2. In[13]: ser.drop('c')
  3. Out[13]:
  4. d 4.5
  5. b 7.2
  6. a -5.3
  7. dtype: float64

删除DataFrame的行或列:

 
 
  1. In[17]: df = DataFrame(np.arange(9).reshape(3,3), index=['a','c','d'], columns=['oh','te','ca'])
  2. In[18]: df
  3. Out[18]:
  4. oh te ca
  5. a 0 1 2
  6. c 3 4 5
  7. d 6 7 8
  8. In[19]: df.drop('a')
  9. Out[19]:
  10. oh te ca
  11. c 3 4 5
  12. d 6 7 8
  13. In[20]: df.drop(['oh','te'],axis=1)
  14. Out[20]:
  15. ca
  16. a 2
  17. c 5
  18. d 8

需要注意的是drop()返回的是一个新对象,原对象不会被改变。

编程要求

根据提示,在右侧编辑器Begin-End处补充代码:

  • s1中删除z行,并赋值到s2

  • d1中删除yy列,并赋值到d2

测试说明

如果答案正确,则会输出True

# -*- coding: utf-8 -*-
from pandas import Series,DataFrame
import numpy as np
import  pandas as pd

def delete_data():
    '''
    返回值:
    s2: 一个Series类型数据
    d2: 一个DataFrame类型数据
    '''

    # s1是Series类型数据,d1是DataFrame类型数据
    s1 = Series([5, 2, 4, 1], index=['v', 'x', 'y', 'z'])
    d1=DataFrame(np.arange(9).reshape(3,3), columns=['xx','yy','zz'])
    # 请在此添加代码 完成本关任务
    # ********** Begin *********#
    s2 = s1.drop('z')
    d2 = d1.drop(['yy'],axis=1)

    # ********** End **********#

    # 返回s2,d2
    return s2, d2

猜你喜欢

转载自blog.csdn.net/Joy19981127/article/details/134758709