在科学、经济、金融、研究领域以及IT行业中,石油的重要性不言而喻,它一直是全球经济的主导力量。石油公司几十年来一直统治着全球,而石油与数据之间的相似之处在于,它们都是推动经济的关键资源。石油推动了工业经济的发展,而数据则推动了信息经济的发展。石油和数据都为交通领域带来了新的维度,石油促进了基于引擎的交通系统的发展,而数据则引领着自动化交通系统的发展。石油提供了能源,数据则提供了信息。然而,石油和数据之间也存在差异,石油是有限的,而数据则是丰富的;石油作为一种有形产品有其成本,而数据作为一种无形产品没有这样的成本。
数据,被称为“新石油”,是数字、文字、事件、事实、测量和观察的集合。经过处理的数据可以转化为信息,信息又可以转化为有用的知识。将这些数据转化为信息是一项挑战,而探索性数据分析(EDA)就是解决这一挑战的方法。EDA是由约翰·图基推广给统计学家的。在进行EDA之前,需要考虑数据需求、数据收集、数据处理和数据清洗等阶段。需要从不同领域收集的数据中做出适当的决策,这些数据主要存储在电子数据库中。数据挖掘是洞察原始数据的过程,而EDA是数据挖掘的第一阶段。
数据分析的方法有很多,这里简要介绍三种重要的方法:经典数据分析、探索性数据分析和贝叶斯数据分析。探索性数据分析的四个阶段包括:定义问题、数据准备、数据分析和结果表示。定义问题阶段需要明确分析的主要目标、主要交付物、角色和责任、数据的当前状态、设定时间线和分析成本效益比。数据准备阶段需要理解数据的特征,清理数据集,并删除无关数据。数据分析阶段需要总结数据、推导隐藏的相关性、开发和评估预测模型以及生成汇总表。最后,在结果表示阶段,数据集以图表和汇总表的形式呈现给目标受众。
以印度经济中最重要的部门之一——农业为例,将使用一个小的农业数据集进行EDA。首先,需要导入pandas和NumPy库,其中pandas库用于处理数据框,NumPy库执行数值运算。然后,读取数据集。如果写'data',它将显示数据集中所有的行和列的快照,而data.head()函数显示前5行。
import pandas as pd
import numpy as np
data = pd.read_csv('apy.csv')
data
data.head()
接下来,复制原始数据。在Python中创建副本有两种方式:浅拷贝和深拷贝。浅拷贝会在对副本进行更改时改变原始对象,而深拷贝则不会,因为它不引用原始对象。然后,获取数据的信息。值得一提的是,'dataframe.tail()'显示最后5行。
datacopy = data.copy()
datacopy.head()
datacopy.tail()
datacopy.info()
通过.info(),收集数据集各列的数据类型、内存使用情况和非空计数的信息。现在,将删除冗余的列和行。将通过.isnull().sum()函数检查缺失值的计数,并将所有信息存储在新的数据框'Data'中。
datacopy.isnull().sum()
Data = datacopy.dropna(axis=0)
Data
Data.isnull().sum()
Data['Production'].mean()
Data['Production'].std()