这里使用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立场,亦不构成任何投资意见或建议。
暂无评论