Press "Enter" to skip to content

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

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

这里使用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)

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注