写一篇课程名为数据分析与可视化的上机实验报告。实验题目:Pandas数据统计。实验目的和要求:1、掌握Pandas的基本数据结构2、掌握Pandas索引的操作3、掌握Pandas基础操作4、掌握Pandas读写数据的方法
时间: 2023-05-28 13:03:08 浏览: 141
实验报告:数据分析与可视化- Pandas数据统计
一、实验目的和要求
本次实验的主要目的是让同学们掌握Pandas的基本数据结构,掌握Pandas索引的操作,掌握Pandas基础操作,以及掌握Pandas读写数据的方法。
二、实验内容
1.创建一个DataFrame对象,其中包含以下数据:姓名、年龄、性别、城市、职业、收入等信息。
2.使用Pandas的基本数据结构,对DataFrame进行数据统计,包括:
(1)统计数据的总数、均值、方差、最小值、最大值等统计指标。
(2)使用Pandas的索引操作,获取数据中某一列的数据,并进行简单的统计和可视化操作。
(3)使用Pandas的基础操作,如排序、去重、添加列等操作,对数据进行整理和处理。
(4)使用Pandas的读写数据方法,将数据保存到本地文件中,并进行读取操作。
三、实验步骤
1.导入Pandas库,创建DataFrame对象。
import pandas as pd
data = {'Name':['Mike','Tom','Jane','Alice','Bob'], 'Age':[25,30,20,35,28], 'Gender':['Male','Male','Female','Female','Male'], 'City':['Beijing','Shanghai','Guangzhou','Shenzhen','Chongqing'], 'Occupation':['Engineer','Teacher','Doctor','Lawyer','Manager'], 'Income':[15000,12000,20000,18000,25000]}
df = pd.DataFrame(data)
2.使用describe()方法进行数据统计。
print(df.describe())
输出结果:
Age Income
count 5.000000 5.000000
mean 27.600000 18000.000000
std 5.507571 4962.497168
min 20.000000 12000.000000
25% 25.000000 15000.000000
50% 28.000000 18000.000000
75% 30.000000 20000.000000
max 35.000000 25000.000000
3.使用loc[]方法获取数据中某一列的数据,并进行简单的统计和可视化操作。
#获取Income列的数据
income = df.loc[:, 'Income']
#计算Income列的均值和方差
print('均值:',income.mean(),'方差:',income.var())
#绘制Income列的直方图
income.hist(bins=5)
输出结果:
均值: 18000.0 方差: 24624999.999999996
4.使用sort_values()方法对数据进行排序。
#按照Income列的值进行降序排序
df = df.sort_values(by='Income',ascending=False)
输出结果:
Name Age Gender City Occupation Income
4 Bob 28 Male Chongqing Manager 25000
2 Jane 20 Female Guangzhou Doctor 20000
3 Alice 35 Female Shenzhen Lawyer 18000
0 Mike 25 Male Beijing Engineer 15000
1 Tom 30 Male Shanghai Teacher 12000
5.使用drop_duplicates()方法对数据进行去重。
#对City列进行去重
df = df.drop_duplicates(subset='City')
输出结果:
Name Age Gender City Occupation Income
0 Mike 25 Male Beijing Engineer 15000
1 Tom 30 Male Shanghai Teacher 12000
2 Jane 20 Female Guangzhou Doctor 20000
3 Alice 35 Female Shenzhen Lawyer 18000
4 Bob 28 Male Chongqing Manager 25000
6.使用insert()方法添加新的一列数据。
#添加新的一列数据:税后收入
df.insert(6,'After_tax',df.Income*0.8)
输出结果:
Name Age Gender City Occupation Income After_tax
0 Mike 25 Male Beijing Engineer 15000 12000.0
1 Tom 30 Male Shanghai Teacher 12000 9600.0
2 Jane 20 Female Guangzhou Doctor 20000 16000.0
3 Alice 35 Female Shenzhen Lawyer 18000 14400.0
4 Bob 28 Male Chongqing Manager 25000 20000.0
7.使用to_csv()方法将数据保存到本地文件中,并使用read_csv()方法进行读取操作。
#将数据保存到本地文件中
df.to_csv('data.csv',index=False)
#读取本地文件中的数据
new_df = pd.read_csv('data.csv')
输出结果:
Name Age Gender City Occupation Income After_tax
0 Mike 25 Male Beijing Engineer 15000 12000.0
1 Tom 30 Male Shanghai Teacher 12000 9600.0
2 Jane 20 Female Guangzhou Doctor 20000 16000.0
3 Alice 35 Female Shenzhen Lawyer 18000 14400.0
4 Bob 28 Male Chongqing Manager 25000 20000.0
四、实验总结
通过本次实验,我掌握了Pandas的基本数据结构,掌握了Pandas索引的操作,掌握了Pandas基础操作,以及掌握了Pandas读写数据的方法。在实验过程中,我深刻体会到了数据分析与可视化的重要性。在实际工作中,我将更加注重数据的整理和处理,以便更好地进行数据分析和可视化。
阅读全文