• 0

  • 468

  • 收藏

数据挖掘——pandas :一些基础数据分析(统计概要与数据可视化)

4个月前

这里使用Python's pandas包,在google的CO上的Jupyter notebook运行。

“?”的使用

e.g:mystring.strip?

          这样可以打开“strip“的使用方法

导入pandas和读取CSV文件

import pandas as pd
df = pd.read_csv('./LondonCars2014.csv')
复制代码

CSV为后缀的文件是逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号)。其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。

被导入的文件是2014年伦敦汽车的信息:

(截取的部分信息)

现在,我们已经读取了上面的文件并且赋值给了变量df,这是一个pandas DataFrame 对象。

输出前5行信息

df.head()
复制代码

显示概要信息

df.info(verbose=True) #显示所有列的信息
复制代码
df.info(verbose=True) #显示列数以及dtype概要
复制代码

可以发现 Doors (车门数量)的类型有问题,应该是category而不是int64。

修改dtype

df = df.astype({'Make':'category', 'Model':'category', 'Year':'category',                 
'Mileage':'int32', 'Price':'int64', 'Body Style':'category',                 
'Ex Color':'category' , 'In Color':'category', 'Engine':'category', 
'Transmission':'category', 'Doors':'category'})
复制代码

然后我们再一次显示他的概要信息:

修改成功!

求得该数据库中有多少行车信息和每个车的属性数

print(df.shape)
复制代码

可以得出结果为

(9080, 11)

说明有9080个车信息录入系统且每个车都有11种属性。

属性分别是什么?

print(df.columns)
复制代码

那Body Style、Ex Color的所有可能的情况分别是什么?

print('Possible body styles:')
print(df['Body Style'].unique())

print('Possible external colours:')
print(df['Ex Color'].unique())
复制代码

价格的最大值、最小值、平均数、中位数、标准差

print('min = {}'.format(df['Price'].min()))
print('max = {}'.format(df['Price'].max()))
print('mean = {}'.format(df['Price'].mean()))
print('median = {}'.format(df['Price'].median()))
print('Standard deviation = {}'.format(df['Price'].std()))
复制代码

最常见的车年是什么———众数

print(df['Year'].mode()
复制代码

2-door / 4-door的比例是多少?

print(df['Doors'].value_counts())ddf = df['Doors'].value_counts()print('The ratio of 2-door to 4-door cars is: {}'.format((df['Doors'].value_counts()[4]/df['Doors'].value_counts()[2])))
复制代码

Honda 车和奔驰车分别的平均价格为?

# For Honda:print('Average price of a Honda car = {:.2f}'.format(df.loc[df['Make'] == 'Honda']['Price'].mean()))# For Mercedes-Benz:print('Average price of a Mercedes-Benz car = {:.2f}'.format(df.loc[df['Make'] == 'Mercedes-Benz']['Price'].mean()))
复制代码

同时显示全部属性的各种统计属性概述

df.describe(include='all')
复制代码

求该数据库的协方差和相关性

print('Covariance:')
df.cov()

print('Correlation:')
df.corr()
复制代码

这两个函数会自动排除 NA and null 值的属性。所有只会计算 Mileage 和 price。

用python来让基本数据可视化

直方图

%matplotlib inlinedf['Mileage'].hist(bins=8)
复制代码

箱形图

df.boxplot()
复制代码

绘制数据集中的配对关系

import seaborn as sns
import matplotlib.pyplot as plt
sns.pairplot(df)
复制代码
免责声明:文章版权归原作者所有,其内容与观点不代表Unitimes立场,亦不构成任何投资意见或建议。

程序员

468

相关文章推荐

未登录头像

暂无评论