目录

第1关:数据结构

第2关:切片索引

第3关:增删改查

第4关:文件读写

第5关:算术运算

第6关:描述性统计

第1关:数据结构

import pandas as pd

########## Begin ##########

data = {'A':{'a':90,'b':89,'c':78},

'B':{'a':82,'b':95,'c':92},

'C':{'a':78.0,'b':67.0},

'D':{'a':78.0,'b':67.0,}}

df1 = pd.DataFrame(data)

########## End ##########

print(df1)

第2关:切片索引

import pandas as pd

from sklearn import datasets

def demo():

data = datasets.load_linnerud().data

#********** Begin **********#

index = pd.MultiIndex.from_product([["A","B","C","D"],["1",'2','3','4','5']])

column = pd.MultiIndex.from_product([["stage"],["a","b","c"]])

df = pd.DataFrame(data,index=index,columns=column)

df1 = df.T.stack()

idx = pd.IndexSlice

print(df1.loc[idx["stage",:,"2"],:])

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

第3关:增删改查

import pandas as pd

# pandas版本原因显示,设置列名仅显示4列

pd.set_option('display.max_columns', 4)

DataFrame = pd.DataFrame

def task1(Books: DataFrame) -> DataFrame:

'''

参数:图书列表

任务:添加新图书【书名: 算法图解, 作者: [美] Aditya Bhargava, 出版社: 人民邮电出版社, 出版年: 2017-3, 页数: 196, 定价: 49.00元, 豆瓣评分: 8.4】;

'''

########## Begin ##########

Books = Books.append({'书名':'算法图解', '作者':'[美] Aditya Bhargava','出版社':'人民邮电出版社', '出版年':2017-3,'页数':196,'豆瓣评分':8.4, '定价':'49.00元'}, ignore_index=True)

########## End ##########

return Books

def task2(Books: DataFrame) -> DataFrame:

'''

参数:图书列表

任务:删除页数列的数据;

'''

########## Begin ##########

Books=Books.drop('页数',axis=1)

########## End ##########

return Books

def task3(Books: DataFrame) -> DataFrame:

'''

参数:图书列表

任务:修改《算法导论(原书第3版)》的价格为666元;

提示:注意数据格式是字符串格式哦;

'''

########## Begin ##########

Books.loc[5,'定价']= '666元'

########## End ##########

return Books

def task4(Books: DataFrame) -> DataFrame:

'''

参数:图书列表

任务:查询所有图书的豆瓣评分;

'''

########## Begin ##########

Out=Books.loc[:,['书名','豆瓣评分']]

########## End ##########

return Out

第4关:文件读写

import pandas as pd

# pandas版本原因显示,设置列名仅显示4列

pd.set_option('display.max_columns', 4)

def task():

'''

任务要求:实现使用Pandas读取gbk编码的文件("FileHandling/Books.csv"),然后将数据写入到utf-8编码的文件中("FileHandling/Out.csv")并使用'*'号分隔数据。

提示1:使用参数encoding指定编码格式('gbk' 和 'utf-8')

提示2:使用参数sep指定数据分隔方式

'''

########## Begin ##########

df= pd.read_csv('FileHandling/Books.csv', encoding="gbk")

df.to_csv("FileHandling/Out.csv",encoding='utf-8', sep='*')

########## End ##########

第5关:算术运算

# -*- coding: utf-8 -*-

from pandas import Series,DataFrame

import numpy as np

import pandas as pd

def add_way():

'''

返回值:

df3: 一个DataFrame类型数据

'''

# df1,df2是DataFrame类型数据

df1 = DataFrame(np.arange(12.).reshape((3, 4)), columns=list('abcd'))

df2 = DataFrame(np.arange(20.).reshape((4, 5)), columns=list('abcde'))

# 请在此添加代码 完成本关任务

# ********** Begin *********#

df3=df1.add(df2,fill_value=4)

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

# 返回df3

return df3

第6关:描述性统计

import pandas as pd

def task1():

'''

任务:使用describe()方法对给定数据进行统计描述汇总;

'''

# 创建学生成绩数据

score = [

["张三", 92, 95, 100, 96],

["李四", 85, 80, 80, 90],

["王二", 95, 90, 89, 95],

["小刚", 88, 92, 96, 93]

]

score = pd.DataFrame(score, columns=['姓名', '语文', '数学', '计算机', '英语'])

########## Begin ##########

result=score.describe(include=['number'])

########## Begin ##########

return result

def task2():

'''

任务:使用统计描述描述函数求各科目成绩的中位数;

'''

# 创建学生成绩数据

score = [

["张三", 92, 95, 100, 96],

["李四", 85, 80, 80, 90],

["王二", 95, 90, 89, 95],

["小刚", 88, 92, 96, 93]

]

score = pd.DataFrame(score, columns=['姓名', '语文', '数学', '计算机', '英语'])

########## Begin ##########

result=score.median(axis=0)

########## End ##########

return result

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: