目录

第7关:时间序列处理

第8关:Series

第9关:DataFrame

第10关:读取数据

第11关:排序

第12关:去重


第7关:时间序列处理

import pandas as pd
from datetime import datetime


def task1():
    '''
    任务:创建以 2021 年1 月1 日为开始的 12 条时间索引,相邻索引间隔时间长度为一个月。
    '''
    ########## Begin ##########
    result= pd.date_range('2021-1-1', periods=12, freq='M')
    
    ########## End ##########
    
    return result


def task2():
    '''
    任务:在 2021 年 1 月 1 日到 2021 年 3 月 1 日间,每隔一周创建一条索引。
    '''
    ########## Begin ##########
    start = datetime(2021, 1, 1)
    end = datetime(2021, 3, 1)
    result = pd.date_range(start, end, freq='W')

    ########## End ##########
    
    return result


def task3():
    '''
    任务:给定以时间为索引的 Series 对象,查找索引时间在 2021 年 1 月内的所有记录。
    '''
    start = datetime(2021, 1, 1)
    end = datetime(2021, 2, 1)
    rng = pd.date_range(start, end, freq='W')
    ts = pd.Series(range(len(rng)), index=rng)

    ########## Begin ##########
    result = ts
    ########## End ##########

    return result

第8关:Series

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

def create_series():
    '''
    返回值:
    series_a: 一个Series类型数据
    series_b: 一个Series类型数据
    dict_a:  一个字典类型数据
    '''
    # 请在此添加代码 完成本关任务
    # ********** Begin *********#
    series_a=Series([1,2,5,7],index=['nu','li','xue','xi'])
    dict_a={'ting':1,'shuo':2,'du':32,'xie':44}
    series_b=Series(dict_a)
    
    # ********** End **********#

    # 返回series_a,dict_a,series_b
    return series_a,dict_a,series_b

第9关:DataFrame

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

def create_dataframe():
    '''
    返回值:
    df1: 一个DataFrame类型数据
    '''
    # 请在此添加代码 完成本关任务
    # ********** Begin *********#
    data={'states':['Ohio','Ohio','Ohio','Nevada','Nevada'],'years':[2000,2001,2002,2001,2002],'pops':[1.5,1.7,3.6,2.4,2.9]}
    df1=DataFrame(data,index=['one','two','three','four','five'])
    df1['new_add'] = [7,4,5,8,2]

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

    #返回df1
    return df1

第10关:读取数据

# -*- coding: utf-8 -*-
from pandas import Series,DataFrame
import  pandas as pd
# pandas版本原因显示,设置列名仅显示4列
pd.set_option('display.max_columns', 4)


def read_csv_data():
    '''
    返回值:
    df1: 一个DataFrame类型数据
    length1: 一个int类型数据
    '''
    # 请在此添加代码 完成本关任务
    # ********** Begin *********#
    df1=pd.read_csv('test3/uk_rain_2014.csv', header=0,encoding = 'gbk')
    df1.columns = ['water_year','rain_octsep','outflow_octsep','rain_decfeb', 'outflow_decfeb', 'rain_junaug', 'outflow_junaug']
    length1=len(df1)
    # ********** End **********#
    #返回df1,length1
    return df1,length1

第11关:排序

# -*- coding: utf-8 -*-
from pandas import Series,DataFrame
import  pandas as pd
# pandas版本原因显示,设置列名仅显示4列
pd.set_option('display.max_columns', 4)


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

    # s1是Series类型数据,d1是DataFrame类型数据
    s1 = Series([4, 3, 7, 2, 8], index=['z', 'y', 'j', 'i', 'e'])
    d1 = DataFrame({'e': [4, 2, 6, 1], 'f': [0, 5, 4, 2]})

    # 请在此添加代码 完成本关任务
    # ********** Begin *********#
    s2=s1.sort_index()
    d2=d1.sort_values(by='f')
    # ********** End **********#

第12关:去重

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

def delete_duplicated():
    '''
    返回值:
    df2: 一个DataFrame类型数据
    '''

    # df1是DataFrame类型数据
    df1 = DataFrame({'k1': ['one'] * 3 + ['two'] * 4, 'k2': [1, 1, 2, 3, 3, 4, 4])
    # 请在此添加代码 完成本关任务
    # ********** Begin *********#
    df2=df1.drop_duplicates()

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

    # 返回df2
    return df2

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐