Pandas数据载入与预处理(详细的数据Python处理方法) |
您所在的位置:网站首页 › pandas合并数据集答案 › Pandas数据载入与预处理(详细的数据Python处理方法) |
Pandas数据载入与预处理
对于数据分析而言,数据大部分来源于外部数据,如常用的CSV文件、Excel文件和数据库文件等。Pandas库将外部数据转换为DataFrame数据格式,处理完成后再存储到相应的外部文件中。 NumPy常用的导入格式:import pandas as pd 一、数据载入读取文本文件 文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序文件。 txt文件:是Windows操作系统上附带的一种文本格式,文件以.txt为后缀。 CSV文件:是Comma-Separated Values的缩写,用半角逗号(’,’)作为字段值的分隔符。 Pandas中使用read_table来读取文本文件: pandas.read_table(filepath_or_buffer, sep=’\t’, header=’infer’, names=None, index_col=None, dtype=None, engine=None, nrows=None) Pandas中使用read_csv函数来读取CSV文件: pandas.read_csv(filepath_or_buffer, sep=’,’, header=’infer’, names=None, index_col=None, dtype=None, engine=None, nrows=None) read_table和read_csv常用参数及其说明: 文本文件的存储 文本文件的存储和读取类似,结构化数据可以通过pandas中的to_csv函数实现以CSV文件格式存储文件。 DataFrame.to_csv(path_or_buf = None, sep = ’,’, na_rep, columns=None, header=True, index=True, index_label=None, mode=’w’, encoding=None) Excel文件的读取 Pandas提供了read_excel函数读取“xls”和“xlsx”两种excel文件,其格式为: pandas.read_excel(io, sheetname, header=0, index_col=None, names=None, dtype) read_excel函数和read_table函数的部分参数相同. 将文件存储为Excel文件,可使用to_excel方法。其语法格式如下: DataFrame.to_excel(excel_writer=None, sheetname=None’, na_rep=”, header=True, index=True, index_label=None, mode=’w’, encoding=None) 与 to_csv方法的常用参数基本一致,区别之处在于指定存储文件的文件路径参数excel_writer,增加了一个sheetnames参数,用来指定存储的Excel sheet的名称,默认为sheet1。 2.数据合并merge数据合并 merge函数是通过一个或多个键将两个DataFrame按行合并起来,与SQL中的 join 用法类似,Pandas中的数据合并merge( )函数格式如下: merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None) merge方法主要参数及说明: 如果要合并的DataFrame之间没有连接键,就无法使用merge方法。pandas中的concat方法可以实现,默认情况下会按行的方向堆叠数据。如果在列向上连接设置axies = 1即可。 例如:
如果需要合并的两个DataFrame存在重复索引,则使用merge和concat都无法正确合并,此时需要使用combine_first方法。 例如: 检测与处理缺失值 isnull()函数可以直接判断某列中的哪个数据为NaN,利用isnull().sum()可以统计缺失值的缺失数目。 string_data = pd.Series(['aardvark', 'artichoke', np.nan, 'avocado']) print(string_data) string_data.isnull()缺失值统计: 在缺失值的处理方法中,删除缺失值是常用的方法之一。通过dropna方法可以删除具有缺失值的行。 dropna方法的格式: dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False) dropna的参数及其使用说明: 填充缺失值: 缺失值所在的特征为数值型时,通常利用其均值、中位数和众数等描述其集中趋势的统计量来填充;缺失值所在特征为类别型数据时,则选择众数来填充。 Pandas库中提供了缺失值替换的方法fillna,格式如下:DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None) 检测与处理重复值 在DataFrame中利用duplicates方法判断各行是否有重复数据。duplicates方法返回一个布尔值的series,反映每一行是否与之前的行重复。 Pandas通过drop_duplicates删除重复的行,格式为: drop_duplicates(self, subset=None, keep=’first’, inplace=False)
简单的数据统计方法中常用散点图、箱线图和3σ法则检测异常值。 散点图方法: 通过数据分布的散点图发现异常数据。
箱线图分析: 利用数据中的五个统计量(最小值、下四分位数、中位数、上四分位数和最大值)来描述数据。 3σ法则: 在3σ原则下,异常值被定义为一组测定值中与平均值的偏差超过3倍标准差的值。 数据转换: 在pandas中通过replace进行数据值的替换。 离差标准化数据 离差标准化是对原始数据所做的一种线性变换,将原始数据的数值映射到[0,1]区间。转换公式如下所示。 类别型数据的哑变量处理 哑变量( Dummy Variables)是用以反映质的属性的一个人工变量,是量化了的自变量,通常取值为0或1。 利用pandas库中的get_dummies函数对类别型特征进行哑变量处理。 pandas.get_dummies(data, prefix = None, prefix_sep = '_', dummy_na = False, columns = None, sparse = False, drop_first=False) get_dummies方法的主要参数及其说明:
pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3) cut方法的主要参数及其说明: 等频法 cut函数虽然不能够直接实现等频离散化,但可以通过定义将相同数量的记录放进每个区间。 聚类分析法 一维聚类的方法包括两步,首先将连续型数据用聚类算法进行聚类,然后处理聚类得到的簇,为合并到一个簇的连续型数据做同一标记。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |