Pandas数据分析初体验

第1关 了解数据处理对象--Series第2关 了解数据处理对象-DataFrame第3关 读取 CSV 格式数据第4关 数据的基本操作——排序第5关 数据的基本操作——删除第6关 数据的基本操作——算术运算第7关 数据的基本操作——去重第8关 数据重塑

第1关 了解数据处理对象–Series

任务描述 本关任务:仔细阅读编程要求,完成相关要求。

编程要求 根据提示,在右侧编辑器 Begin-End 内补充代码: 创建一个名为 series_a 的 series 数组,当中值为 [1,2,5,7],对应的索引为 [‘nu’, ‘li’, ‘xue’, ‘xi’]; 创建一个名为 dict_a 的字典,字典中包含如下内容 {‘ting’:1, ‘shuo’:2, ‘du’:32, ‘xie’:44}; 将 dict_a 字典转化成名为 series_b 的 series 数组。 测试说明 如果答案正确,则会输出 True。 开始你的任务吧,祝你成功!

# -*- 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 = pd.Series([1,2,5,7], index =['nu', 'li', 'xue', 'xi'])

dict_a = {'ting':1, 'shuo':2, 'du':32, 'xie':44}

series_b = pd.Series(dict_a)

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

# 返回series_a,dict_a,series_b

return series_a,dict_a,series_b

第2关 了解数据处理对象-DataFrame

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

编程要求 根据提示,在右侧编辑器 Begin-End 内补充代码: 创建一个五行三列的名为 df1 的 DataFrame 数组,列名为 [states,years,pops],行名 [‘one’,‘two’,‘three’,‘four’,‘five’]; 给 df1 添加新列,列名为 new_add,值为 [7,4,5,8,2]。 测试说明 如果答案正确,则会输出 True。 开始你的任务吧,祝你成功!

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

from pandas import Series,DataFrame

import pandas as pd

def create_dataframe():

'''

返回值:

df1: 一个DataFrame类型数据

'''

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

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

dictionary = {'states':['0hio','0hio','0hio','Nevada','Nevada'],

'years':[2000,2001,2002,2001,2002],

'pops':[1.5,1.7,3.6,2.4,2.9]}

df1=DataFrame(dictionary)

df1=DataFrame(dictionary,index=['one','two','three','four','five'])

df1['new_add']=[7,4,5,8,2]

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

#返回df1

return df1

第3关 读取 CSV 格式数据

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

编程要求 根据提示,在右侧编辑器 Begin-End 内补充代码: 将 test3/uk_rain_2014.csv 中的数据导入到 df1 中; 将列名修改为 [‘water_year’,‘rain_octsep’,‘outflow_octsep’,‘rain_decfeb’, ‘outflow_decfeb’, ‘rain_junaug’, ‘outflow_junaug’]; 计算 df1 的总行数并存储在 length1 中。 测试说明 如果答案正确,则会输出 True。 开始你的任务吧,祝你成功!

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

from pandas import Series,DataFrame

import pandas as pd

def read_csv_data():

'''

返回值:

df1: 一个DataFrame类型数据

length1: 一个int类型数据

'''

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

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

df1=pd.read_csv('./test3/uk_rain_2014.csv', header=0)

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

第4关 数据的基本操作——排序

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

编程要求 根据提示,在右侧编辑器 Begin-End 内补充代码: 对代码中 s1 进行按索引排序,并将结果存储到 s2; 对代码中 d1 进行按值排序(index 为 f),并将结果存储到 d2。 测试说明 如果答案正确,则会输出 True。 开始你的任务吧,祝你成功!

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

from pandas import Series,DataFrame

import pandas as pd

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 **********#

#返回s2,d2

return s2,d2

第5关 数据的基本操作——删除

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

编程要求 根据提示,在右侧编辑器 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

第6关 数据的基本操作——算术运算

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

编程要求 根据提示,在右侧编辑器 Begin-End 内补充代码: 让 df1 与 df2 相加得到 df3,并设置默认填充值为 4。 测试说明 如果答案正确,则会输出 True。 开始你的任务吧,祝你成功!

# -*- 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

第7关 数据的基本操作——去重

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

编程要求 根据提示,在右侧编辑器 Begin-End 内补充代码: 去除 df1 中重复的行,并把结果保存到 df2 中。 测试说明 如果答案正确,则会输出 True。 开始你的任务吧,祝你成功!

# -*- 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

第8关 数据重塑

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

编程要求 根据提示,在右侧编辑器 Begin-End 内补充代码: 对 s1 进行数据重塑,转化成 DataFrame 类型,并复制到 d1。 测试说明 编写代码之后,点击测评即可。 开始你的任务吧,祝你成功!

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

from pandas import Series,DataFrame

import pandas as pd

import numpy as np

def suoying():

'''

返回值:

d1: 一个DataFrame类型数据

'''

#s1是Series类型数据

s1=Series(np.random.randn(10),

index=[['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'd', 'd'], [1, 2, 3, 1, 2, 3, 1, 2, 2, 3]])

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

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

d1=s1.unstack()

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

# 返回d1

return d1

参考链接

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