【数据科学家】pandas使用指南

Python是一种广泛使用的解释型、高级编程、通用型编程语言,目前已经成为数据科学领域使用最广泛的语言,拥有大量成熟的工具箱,其中NumpyPandas提供了高性能的数据分析方法,Matplotlib提供了数据可视化方法,Scikit-learn提供了常见的机器学习算法。

以下通过一个数据分析示例简单介绍Pandas库的使用。

备注:示例使用Anaconda配置Python,开发环境为jupyter notebook,开发语言为Python3。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

一、数据导入

首先导入工具箱,为书写方便设置别名,pandas的别名为pd,numpy的别名为np,matplotlib的别名为plt。

edu=pd.read_csv('educ_figdp_1_Data.csv',usecols={"TIME","GEO","Value"})

使用read_csv()方法读取文件并存储到edu中,注意未写明路径时需要将数据集放在同一个目录下,参数usecols选择了要使用的3列数据。

二、数据清洗与分析

edu.head()	# 查看前五行数据
edu.tail()	# 查看最后五行数据
edu.describe() # 快速统计数字列信息,包括计数、平均值、最大最小值、标准差等
edu.info()	# 查看每列的名称、数量、类型、有无空值
edu.sample(10)	# 查看任意5行数据

通过上述方法快速查看数据的整体信息,了解数据概况。

edu['Value']=pd.to_numeric(edu['Value'],errors='coerce')
# 使用to_numeric()方法将Value转换为float型,并将空值变为NaN
edu['Value'] # 使用引号,查看Value列
edu[7:10] # 使用冒号,查看7、8、9三行,冒号两边方框取值为左闭右开区间
edu.loc[10:13,['TIME','GEO']] # 使用loc[]查看给定的行和列,冒号两边取值为闭区间
edu[edu['Value']>7] # 使用布尔索引筛选数据
edu[edu['Value'].isnull()]) # 使用isnull()方法查看有缺失值的数据

通过上述方法分块查看数据的切片信息,了解数据的详细情况。

a=edu['Value']/100 # 直接对Value列数据操作,除以100
b=edu['Value'].apply(np.sqrt) # 使用apply()方法,括号内写函数名称对Value列数据操作,求平方根
c=edu['Value'].apply(lambda p : p*2) # 使用apply()方法,括号内使用lambda关键字,冒号右边编写函数,乘2

通过上述方法对数据集进行操作,根据需求处理数据。

filtered_data=edu[edu['TIME']>2005] # 筛选2005年后的数据
pivedu=pd.pivot_table(filtered_data,values='Value',index=['GEO'],columns=['TIME']) # 重排数据
pivedu=pivedu.drop(['Euro area (13 countries)','Euro area (15 countries)','Euro area (17 countries)','Euro area (18 countries)','European Union (25 countries)','European Union (27 countries)'
,'European Union (28 countries)'],0) # 删除不需要的行
pivedu=pivedu.rename(index={'Germany (until 1990 former territory of the FRG)':'Germany'})
# 重命名
pivedu=pivedu.dropna() # 去重空值
pivedu.rank(ascending=False,method='first') #排序
totalSum=pivedu.sum(axis=1)
totalSum.rank(ascending=False,method='dense').sort_values().head()

通过上述方法重建表格(数据透视表),并排序数据。

三、数据可视化

totalSum=pivedu.sum(axis=1).sort_values(ascending=False)
totalSum.plot(kind='bar',style='b',alpha=0.4,title='Total Values for Country')

在这里插入图片描述

my_colors=['b','r','g','y','m','c']
ax=pivedu.plot(kind='barh',stacked=True,alpha=0.6,color=my_colors,title="every year's Values ")

在这里插入图片描述

通过上述方法,画出柱状图完成数据的可视化展示。

发布了34 篇原创文章 · 获赞 4 · 访问量 2197

猜你喜欢

转载自blog.csdn.net/qq_41629800/article/details/97132849