数据采集与清洗基础习题(四)Pandas初体验,头歌参考答
案
数据采集习题参考答案,会持续更新,点个关注防丢失。
创作不易,⼀键三连给博主⼀个⽀持呗。
为了⽅便查,已按照头歌重新排版,朋友们按照头歌所属门类查实训哦,该篇为Pandas。
⽂章⽬录
实训⼀:Pandas初体验
第⼀关:了解数据处理对象--Series
编程要求
相关知识
站长之家html模板Pandas是为了解决数据分析任务⽽创建的,纳⼊了⼤量的库和标准数据模型,提供了⾼效地操作⼤型数据集所需的⼯具。 对于Pandas包,在Python中常见的导⼊⽅法如下:
from pandas import Series,DataFrame
import pandas as pd
Pandas中的数据结构
Series: ⼀维数组,类似于Python中的基本数据结构list,区别是Series只允许存储相同的数据类型,这样可以更有效的使⽤内存,提⾼运算效率。就像数据库中的列数据;
DataFrame: ⼆维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器;
Panel:三维的数组,可以理解为DataFrame的容器。
了解Series
为了开始使⽤Pandas,我们必需熟悉它的两个重要的数据结构:Series 和DataFrame。虽然它们不是每⼀个问题的通⽤解决⽅案,但可以提供⼀个坚实的,易于使⽤的⼤多数应⽤程序的基础。 Series是⼀个⼀维的类似的数组对象,包含⼀个数组的数据(任何NumPy的数据类型)和⼀个与数组关联的数据标签,被叫做索引 。最简单的Series是由⼀个数组的数据构成:
1. In [1]:obj=Series([4,7,-5,3])
2. In [2]:obj
3. Out[2]:
4. 0 4
5. 1 7
6. 2 -5
7. 3 3
Series的交互式显⽰的字符串表⽰形式是索引在左边,值在右边。因为我们没有给数据指定索引,⼀
个包含整数0到N-1这⾥N是数据的长度)的默认索引被创建。你可以分别的通过它的values和index属性来获取 Series的数组表⽰和索引对象:
1. In [3]: obj.values
2. Out[3]:array([4,7,-5,3])
3. In [4]: obj.index
4. Out[4]:Int64Index([0,1,2,3])
通常,需要创建⼀个带有索引来确定每⼀个数据点的Series。
1. In [5]:obj2=Series([4,7,-5,3],index=['d','b','a','c'])
2. In [6]:obj2
3. Out[6]:
4. d 4
5. b 7
6. a -5
7. c 3
如果你有⼀些数据在⼀个Python字典中,你可以通过传递字典来从这些数据创建⼀个Series,只传递⼀个字典的时候,结果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
第⼆关:了解数据处理对象-DataFrame
编程要求
相关知识
DataFrame是⼀个表格型的数据结构,是以⼀个或多个⼆维块存放的数据表格(层次化索引),DataFrame既有⾏索引还有列索引,它有⼀组有序的列,每列既可以是不同类型(数值、字符串、布尔型)的数据,或者可以看做由Series组成的字典。 DataFrame创建:
1. dictionary = {'state':['0hio','0hio','0hio','Nevada','Nevada'],
2. 'year':[2000,2001,2002,2001,2002],
3. 'pop':[1.5,1.7,3.6,2.4,2.9]}
4. frame = DataFrame(dictionary)
修改⾏名:
1. frame=DataFrame(dictionary,index=['one','two','three','four','five'])
c++while循环添加修改:
1. frame['add']=[0,0,0,0,0]
添加Series类型:
1. value = Series([1,3,1,4,6,8],index = [0,1,2,3,4,5])
2. frame['add1'] = value
第⼆关答案
# -*- 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
c++find函数第三关:读取CSV格式数据
编程要求
python数据分析基础教程答案
相关知识
在使⽤机器学习⼯具包对数据进⾏修改、探索和分析之前,我们必须先讲外部数据导⼊。使⽤Pandas导⼊数据⽐Numpy要容易。在这⾥我们将使⽤英国降⾬数据,数据已下好并放在本实训的当前⽂件夹。
读取CSV
# Reading a csv into Pandas.
# 如果数据集中有中⽂的话,最好在⾥⾯加上 encoding = 'gbk' ,以避免乱码问题。后⾯的导出数据的时候也⼀样。
df = pd.read_csv('uk_rain_2014.csv', header=0)
这⾥我们从csv⽂件⾥导⼊了数据,并储存在DataFrame中。这⼀步⾮常简单,你只需要调⽤read_csv然后将⽂件的路径传进去就⾏
了。header 关键字告诉Pandas哪些是数据的列名。如果没有列名的话就将它设定为 None。 数据导⼊pandas之后,我们该怎么查看数据呢?
查看前n⾏
1. # Getting first x rows.
2. df.head(5)
查看后n⾏
1. # Getting last x rows.
2. df.tail(5)
查看总⾏数
1. # Finding out how many rows dataset has.
2. len(df)
修改列名
我们通常使⽤列的名字来在Pandas中查列。这⼀点很好⽽且易于使⽤,但是有时列名太长,我们需要缩短列名。
1. # Changing column labels.
2. df.columns = ['water_year','rain_octsep','outflow_octsep','rain_decfeb', 'outflow_decfeb', 'rain_junaug', 'outflow_junaug']
第三关答案
# -*- coding: utf-8 -*-
from pandas import Series,DataFrame
import pandas as pd
def read_csv_data():
'''
返回值:
cryptomator中文df1: ⼀个DataFrame类型数据
length1: ⼀个int类型数据
'''
# 请在此添加代码完成本关任务
# ********** Begin *********#
ad_csv('test3/uk_rain_2014.csv', header=0,encoding = 'gbk')
length1=len(df1)
# ********** End **********#
#返回df1,length1
return df1,length1
第四关:数据的基本操作——排序
编程要求
相关知识
本关我们将学习处理Series和DataFrame中的数据的基本⼿段,我们将会探讨Pandas最为重要的⼀些功能。对索引进⾏排序
Series⽤sort_index()按索引排序,sort_values()按值排序; DataFrame也是⽤sort_index()和sort_values()。
1. In[73]: obj = Series(range(4), index=['d','a','b','c'])
2. In[74]: obj.sort_index()
3. Out[74]:
4. a 1
5. b 2
6. c 3
7. d 0
8. dtype: int64
9.
10. In[78]: frame = DataFrame(np.arange(8).reshape((2,4)),index=['three', 'one'],columns=['d','a','b','c'])
11. In[79]: frame
12. Out[79]:
13. d a b c
14. three 0 1 2 3
15. one 4 5 6 7
16.
17. In[86]: frame.sort_index()
18. Out[86]:
19. d a b c
20. one 4 5 6 7
21. three 0 1 2 3
按⾏排序
1. In[89]: frame.sort_index(axis=1, ascending=False)
2. Out[89]:
3. d c b a
4. three 0 3 2 1
5. one 4 7 6 5
按值排序
Series:
1. In[92]: obj = Series([4, 7, -3, 2])
2. In[94]: obj.sort_values()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论