python对数据的描述和一些预处理

首先读入一个数据作准备

from pandas import read_csv
from matplotlib import pyplot
filename='housing.csv'
names=['1','2','3','4','5','6','7','8','9','10','11','12','13','14']
#数据共14列,为每一列取一个名字
data=read_csv(filename,names=names,delim_whitespace=True)
#csv文件以空格分隔,所以delim_whitespace为True

描述性统计信息

print(data.describe())

在这里插入图片描述
此函数会输出数据的最大值,最小值,中位数,四分位数,方差,均值等,可以加深对数据分布的理解。

数据特征之间的关联关系

print(data.corr(method='pearson'))

在这里插入图片描述

上边的代码查看了数据的皮尔逊相关系数,皮尔逊相关系数>07或者<-0.7表示这些特征属性之间有强关联关系。

数据可视化

直方图

data.hist(sharex=False,sharey=False,xlabelsize=1,ylabelsize=1)
pyplot.show()

hist接口的定义:

DataFrame.hist(column=None, by=None, grid=True, xlabelsize=None, xrot=None, ylabelsize=None, yrot=None, ax=None, sharex=False, sharey=False, figsize=None, layout=None, bins=10, **kwds)

各参数作用:
在这里插入图片描述
图片来自于(https://blog.csdn.net/u011240016/article/details/85075968)

密度图

密度图比直方图更加平滑的展示了数据的分布特征

data.plot(kind='density',subplots=True,layout=(4,4),sharex=False,fontsize=1)
pyplot.show()

在这里插入图片描述

箱线图

箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。箱线图的绘制方法是:先找出一组数据的上边缘、下边缘、中位数和两个四分位数;然后, 连接两个四分位数画出箱体;再将上边缘和下边缘与箱体相连接,中位数在箱体中间。

data.plot(kind='box',subplots=True,layout=(4,4),sharex=False,fontsize=1)
pyplot.show()

在这里插入图片描述

散点图矩阵

对高维数据进行可视化,一个常用的方法是散点图。对于具有2个以上维度的数据,可以使用散点图矩阵(scatterplot matrix),其中每一个视图是某2个维度的散点图。因为当欲同时考察多个变量间的相关关系时,若一一绘制它们间的简单散点图,十分麻烦。此时可利用散点图矩阵来同时绘制各自变量间的散点图,这样可以快速发现多个变量间的主要相关性。
绘制过程如下:

from pandas import read_csv
from pandas.plotting import scatter_matrix
from matplotlib import pyplot

filename='housing.csv'
data=read_csv(filename,delim_whitespace=True)
scatter_matrix(data)
pyplot.show()

结果为:
在这里插入图片描述

相关矩阵图

相关矩阵也叫相关系数矩阵,其是由矩阵各列间的相关系数构成的。也就是说,相关矩阵第i行第j列的元素是原矩阵第i列和第j列的相关系数。

相关矩阵图的目的是探索两个事物之间的关系。实际应用中,我们常常需要探索多个变量的两两之间的相关性。

相关系数:绝对值越接近1,相关性越强,1指的是完全正相关,-1指的是完全负相关,0表示完全无关

import numpy as np
names=['1','2','3','4','5','6','7','8','9','10','11','12','13','14']
fig=pyplot.figure()
ax=fig.add_subplot(111)
cax=ax.matshow(data.corr(),vmin=-1,vmax=1,interpolation='none')
fig.colorbar(cax)
ticks=np.arange(0,14,1)
ax.set_xticks(ticks)
ax.set_yticks(ticks)
ax.set_xticklabels(names)
ax.set_yticklabels(names)
pyplot.show()

在这里插入图片描述
数据特征属性之间的两两相关性,有些属性之间是强相关的,建议在后续的处理中移除这些特征属性,以提高算法的准确度。

学习(https://blog.csdn.net/qq_40027052/article/details/78912963)的笔记
Python中有多种库可以用来清洗和预处理Excel数据集,最常用的是pandas库。以下是利用pandas进行Excel数据清洗和预处理的一些步骤: 1. **导入库**:首先,需要安装`pandas`库,通常使用`pip install pandas`命令。然后,在代码中导入`pandas`库,以及可能用于读取Excel文件的`openpyxl`或`xlrd`。 ```python import pandas as pd ``` 2. **加载数据**:使用`pd.read_excel()`函数读取Excel文件,传入文件名作为参数。 ```python df = pd.read_excel('example.xlsx') ``` 3. **检查和理解数据**:查看数据的基本信息,如列名、行数、缺失值等。 ```python print(df.head()) # 查看前几行 print(df.info()) # 显示数据描述统计 print(df.isnull().sum()) # 检查缺失值 ``` 4. **数据清洗**: - **处理缺失值**:可以选择删除含有缺失值的行或列(`dropna()`),填充缺失值(`fillna()`或`ffill/bfill()`)。 - **异常值检测**:通过统计分析识别离群值(outliers),并采取相应措施(例如替换为平均值或删除)。 - **标准化或编码**:对于分类变量,可以使用`get_dummies()`将类别转换为数值。 ```python df = df.dropna() # 删除缺失值 df['column_name'] = df['column_name'].fillna(value) # 填充缺失值 df = pd.get_dummies(df, columns=['category_column']) # 类别编码 ``` 5. **数据预处理**: - **转换数据类型**:如果需要,可以使用`astype()`函数改变数据类型。 - **分箱或归一化**:使用`pd.cut()`或sklearn库进行数据缩放。 ```python df['numeric_column'] = df['numeric_column'].astype('float64') # 转换数据类型 df[['bin_column']] = pd.cut(df['bin_column'], bins=5) # 分箱 ``` 6. **保存处理后的数据**:完成清洗和预处理后,可以使用`to_excel()`函数将结果保存回新的Excel文件。 ```python df.to_excel('preprocessed_data.xlsx', index=False) # 保存到新文件 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值