首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记

,所以方法返回一个由布尔组成的Series对象,它的行索引保持不变,数据则变为标记的布尔  强调注意:  ​ (1)只有数据表两个条目间所有的内容都相等时,duplicated()方法才会判断为重复...2.4.1 combine_first()方法   上述方法只有一个参数 other,参数用于接收填充缺失的 DataFrame对象。 ...3.2 轴向旋转  ​ Pandaspivot()方法提供了这样的功能,它会根据给定的行或索引重新组织一个 DataFrame对象。 ...columns:用于创建新 DataFrame对象的索引 values:用于填充新 DataFrame对象。  4....','青年','中年','中老年','老年']) 4.3 哑变量处理类别型数据  Pandas,可以使用get_dummies()函数对类别特征进行哑变量处理.  4.3.1 get_dummies

5.1K00

一文了解类别型特征的编码方法

这里介绍一个新的数据分析库--pandas_profiling,这个库可以帮我们先对数据集做一个数据分析报告,报告的内容包括说明数据集包含的数量、样本数量,每的缺失数量,每之间的相关性等等。...,看右上角可以选择有 5 项内容,下面是概览的内容,主要展示数据集的样本数量,特征数量(的数量)、占用内存、每的数据类型统计、缺失情况等: ?...Pandasget_dummies 首先介绍第一种--Pandasget_dummies,这个方法使用非常简单了: ?...此外,采用 OneHotEncoder 的一个好处就是可以指定特征的维度,这种情况适用于,如果训练集和测试集的某个特征的取值数量不同的情况,比如训练集的样本包含这个特征的所有可能的取值,但测试集的样本缺少了其中一种可能...,那么如果直接用 pandasget_dummies方法,会导致训练集和测试集的特征维度不一致了。

1.2K31
您找到你想要的搜索结果了吗?
是的
没有找到

sklearn多种编码方式——category_encoders(one-hot多种用法)

, 'female' => 2.0, 未知 => -1.0, 缺失 => -2.0 # (事实上,测试集中完全有可能出现未知与缺失情况) # 我们的例子, Sex这一变量的'other' 类别从未在训练集中出现过...对于一有N种取值的特征,Onehot方法会创建出对应的N特征,其中代表样本是否为特征的某一种取值。因为生成的每一的都是1,所以这个方法起名为Onehot特征。...Dummy特征也是一样,只是少了一,因为第N可以看做是前N-1的线性组合。但是离散特征的特征过多的时候不宜使用,因为会导致生成特征的数量太多且过于稀疏。...Scikit-learn也提供来独热编码函数,其可以将具有n_categories个可能的一个分类特征转换为n_categories个二进制特征,其中一个为1,所有其他为0category_encoders...前: get_dummies 后: 上述执行完以后再打印df 出来的还是get_dummies 前的图,因为你没有写 df = pd.get_dummies(df) 可以对指定进行get_dummies

3K20

关于sklearn独热编码二.字符串型类别变量

已经有很多人在 stackoverflow 和 sklearn 的 github issue 上讨论过这个问题,但目前为止的 sklearn 版本仍没有增加OneHotEncoder对字符串型类别变量的支持...,无论 LabelEncoder() 还是 LabelBinarizer(),他们 sklearn 的设计初衷,都是为了解决标签 y 的离散化,而非输入 X, 所以他们的输入被限定为 1-D array...---- 另一种解决方案 其实如果我们跳出 scikit-learn, pandas 可以很好地解决这个问题,用 pandas 自带的get_dummies函数即可 get_dummies的优势在于...: 本身就是 pandas 的模块,所以对 DataFrame 类型兼容很好 不管你是数值型还是字符串型,都可以进行二化编码 能够根据指令,自动生成二化编码后的变量名 这么看来,我们找到最完美的解决方案了...一样可以输入到pipeline 进行流程化地机器学习过程。

1.4K20

机器学习归一化特征编码

提升模型精度:如果我们选用的距离度量为欧式距离,如果数据预先没有经过归一化,那么那些绝对大的features欧式距离计算的时候起了决定性作用。...的两侧 特征编码 我们拿到的数据通常比较脏乱,特征变量除了数值外可能还会包括带有各种非数字特殊符号等特征,比如中文。...没有扩维,多用于标签的编码(如果用于特征的编码,那编码后还要用get_dummies或OneHotEncoder进行再编码,才能实现扩维)。...其中系数C也是超参数,需要人工输入,用于调整经验风险部分和结构风险部分的权重,C越大,经验风险部分权重越大,反之结构风险部分权重越大。...此处有两点需要注意: 其一:指标和训练集上整体准确率不同,指标是交叉验证时验证集准确率的平均值,而不是所有数据的准确率; 其二:指标是网格搜索进行参数挑选时的参照依据。

7510

如何在 Python 中将分类特征转换为数字特征?

此技术适用于表示名义分类特征,并允许类别之间轻松比较。但是,如果有很多类别,它可能需要大量内存并且速度很慢。...要在 Python 实现独热编码,我们可以使用 pandasget_dummies() 函数。...下面是一个示例: To implement one-hot encoding in Python, we can use the get_dummies() function from the pandas...Here is an example: 在此代码,我们首先从 CSV 文件读取数据集。然后,我们使用 get_dummies() 函数为 “color” 的每个类别创建新的二进制特征。...例如,我们可以将 0、1 和 2 分配给名为“颜色”的特征的类别,然后将它们转换为二进制表示:0 变为 00,1 变为 01,2 变为 10。技术结合了标签编码和独热编码的优点。

39020

数据预处理的 10 个小技能,附 Pandas 实现

np.nan 是 pandas 中常见空,使用 dropna 过滤空,axis 0 表示按照行,1 表示按,how 默认为 any ,意思是只要有一个 nan 就过滤某行或某,all 所有都为...使用函数 fillna: # 使用a平均数填充的空,inplace true表示就地填充 df["a"].fillna(df["a"].mean(), inplace=True) 技能5:修复不合适值...(['Names'], keep='last') 技能7:apply 元素级:去掉特殊字符 某单元格含有特殊字符,如标点符号,使用元素级操作方法 apply 干掉它们: import string...某取值只可能为有限个枚举,往往需要转为数值,使用get_dummies,或自己定义函数: pd.get_dummies(df['a']) 自定义函数,结合 apply: def c2n(x):...的实现。

83410

机器学习| 第三周:数据表示与特征工程

读取数据 1import pandas as pd 2# 文件没有包含列名称的表头,因此我们传入header=None 3# 然后"names"显式地提供列名称 4data = pd.read_csv...检查的内容有一个好方法,就是使用 pandas Series(Series 是 DataFrame 单列对应的数据类型)的 value_counts 函数,以显示唯一及其出现次数: 1print(...get_dummies 函数自动变换所有具有对象类型(比如字符串)的或所有分类的。...注意要把目标变量分离出来(本来 imcome 是一的,现在经过虚拟变量处理以后变成了两)。同时,注意:pandas 索引是包括范围的结尾的,Numpy 的切片是不包括范围的结尾的。...大多数现实情况下,使用特征选择不太可能大幅提升性能,但它仍是特征工程工具箱中一个非常有价值的工具。

1.5K20

Python|一文详解数据预处理

axis参数进行行或的空判断,默认为axis=0也就是判断每一是否存在空,axis=1时用于判断行。...当数据集中出现某一数据全都为缺失,或者缺失的占比很大并且业务上允许删除属性的时候。通常大于60%,可以考虑直接删除整列,如以下代码所示。...0代表行,1代表列 df = df.dropna(axis=0) print(df) del方法和dropna()函数删除区别在于,del删除指定,dropna删除含有缺失的所有。...很多情况下都会用0来填充缺失,比如对于一表示婚龄的数据,若有很多缺失,可以认为没有数据的是因为未结婚的人群无法选择一样,此时就可以用0来表示没结婚的人群的婚龄。...Pandas的fillna()函数提供了填充缺失的方法,方法不仅可以填充数值数据,也可以进行字符串的填充,如以下代码所示。

2.4K40

Excel小技巧29:编辑行或的快捷键

如果了解Excel的一些快捷键,特别是方便经常操作任务的快捷键,将会极大地提高我们使用Excel的效率。这里,介绍用于方便操作行和的6个快捷键。...通常,我们会选择要插入列或行的位置,然后单击功能区“开始”选项卡的“插入——插入工作表行”或“插入——插入工作表列”命令,或者单击鼠标右键,快捷菜单中选择“插入”命令,弹出的对话框中选取相应的插入操作命令...无论何种操作,都需要好几步,其实可以使用组合键来完成插入新或新行的操作。 插入新 按Alt+i+c组合键,将在当前列的左侧添加新其中,“i”代表插入,“c”代表列。...其中,“i”代表插入,“r”代表行。 插入是Excel中最常用的操作之一,然而选择整个数据的一部分数据,也是常见操作。...通常,我们会使用鼠标选择某的起始单元格,按住鼠标左键并向下浏览,选择整列或的一部分。也可以选择顶部或左侧单元格后,按住Shift键,再向下或向右选择至指定的单元格

1.7K10

针对SAS用户:Python数据分析库pandas

SAS PROC CONTENTS的输出,通常会发现同样的信息。 ? ? 检查 pandas用于检查数据的方法。DataFrame的.head()方法默认显示前5行。....5 rows × 27 columns OBS=nSAS确定用于输入的观察数。 PROC PRINT的输出在此处不显示。 下面的单元格显示的是范围按的输出。...默认情况下,.dropna()方法删除其中找到任何空的整个行或。 ? ? .dropna()方法也适用于轴。axis = 1和axis = "columns"是等价的。 ? ?...正如你可以从上面的单元格的示例看到的,.fillna()函数应用于所有的DataFrame单元格。我们可能不希望将df["col2"]的缺失替换为零,因为它们是字符串。...方法应用于使用.loc方法的目标列表。第05章–了解索引讨论了.loc方法的详细信息。 ? ? 基于df["col6"]的平均值的填补方法如下所示。.

12.1K20

Python-操作Excel表-openpyxl模块使用

主要功能和特点如下: 读取、修改、写入Excel文件,支持格式如xlsx、xlsm等 支持 Excel 2003 以上格式 可以很方便地遍历工作表的行和 获取单元格对象后,可以修改单元格、样式、...格式等 支持公式、图表、样式、筛选等功能 可以将Excel数据转换为Python的字典或列表 支持 Pandas 的 DataFrame与Excel文件互相转换 支持数据验证、工作表保护、条件格式设置等高级功能...():合并单元格 单元格操作 cell.value:获取或设置单元格 cell.row:单元格的行号 cell.column:单元格号 cell.data_type:单元格数据类型 cell.font...:以生成器方式返回所有 ws.values:以嵌套列表方式返回所有 ws.formula:读取单元格公式 openpyxl方法示例 工作簿操作 创建工作簿: wb = openpyxl.Workbook...修改单元格 遍历工作表 获取最大行列信息 保存修改后的Excel openpyxl Excel创建简单工作簿和工作表的示例: import openpyxl # 创建新的工作簿 wb = openpyxl.Workbook

57050

初学者使用Pandas的特征工程

在这里,我们以正确的顺序成功地将该转换为标签编码的用于独热编码的get_dummies() 获取虚拟变量是pandas的一项功能,可帮助将分类变量转换为独热变量。...独热编码方法是将类别自变量转换为多个二进制其中1表示属于该类别的观察结果。 独热编码被明确地用于没有自然顺序的类别变量。示例:Item_Type。...在此,每个新的二进制1表示子类别在原始Outlet_Type的存在。 用于分箱的cut() 和qcut() 分箱是一种将连续变量的组合到n个箱的技术。...这将保留有关分布的信息。我们将频率归一化,从而得到唯一的和为1。 在这里,Big Mart Sales数据,我们将对Item_Type变量使用频率编码,变量具有16个唯一的类别。...这就是我们如何创建多个的方式。执行这种类型的特征工程时要小心,因为使用目标变量创建新特征时,模型可能会出现偏差。

4.8K31

Python的虚拟变量(dummy variables)

虚拟变量(dummy variables) 虚拟变量,也叫哑变量和离散特征编码,可用来表示分类变量、非数量因素可能产生的影响。...① 离散特征的取值之间有大小的意义 例如:尺寸(L、XL、XXL) 离散特征的取值有大小意义的处理函数map pandas.Series.map(dict) 参数 dict:映射的字典 ② 离散特征的取值之间没有大小的意义...pandas.get_dummies 例如:颜色(Red,Blue,Green) 处理函数: get_dummies(data,prefix=None,prefix_sep="_",dummy_na=...前缀和离散的分隔符,默认为下划线,默认即可 ④ dummy_na 是否把NA,作为一个离散进行处理,默认为不处理 ⑤ columns 要处理的列名,如果不指定,那么默认处理所有 ⑥ drop_first...是否从备选项删除第一个,建模的时候为避免共线性使用 # -*- coding: utf-8 -*- import pandas data = pandas.read_csv( 'D:\\PDA

3.4K80

数据导入与预处理-课程总结-04~06章

指定字符集类型,即编码,通常指定为’utf-8’ 1.1.3 读取Excel文件 Excel文件(Excel 2007及以上版本的扩展名为.xlsx)是日常工作中经常使用的,该文件主要以工作表存储数据,工作表包含排列成行和单元格...2.1.2 删除缺失 pandas中提供了删除缺失的方法dropna(),dropna()方法用于删除缺失所在的一行或一数据,并返回一个删除缺失后的新对象。...箱形图能直观地反映出一组数据的分散情况,一旦图中出现离群点(远离大多数值的点),就认为离群点可能为异常值。...,其中’inner’表示内连接,即合并结果为多个对象重叠部分的索引及数据,没有数据的位置填充为NaN;'outer’表示外连接,即合并结果为多个对象各自的索引及数据,没有数据的位置填充为NaN。...它们的区别是: df.join() 相同行索引的数据被合并在一起,因此拼接后的行数不会增加(可能会减少)、数增加; df.merge()通过指定的索引进行合并,行列都有可能增加;merge也可以指定行索引进行合并

13K10

Python从0到100(二十一):用Python读写Excel文件

) # 通过Cell对象的value属性获取单元格 value = sheet.cell(row, col).value # 对除首行外的其他行进行数据格式化处理...- 1)print(last_cell_type)# 获取第一行的(列表)print(sheet.row_values(0))# 获取指定行指定范围的数据(列表)# 第一个参数代表行索引,第二个和第三个参数代表列的开始...要设置单元格样式需要首先创建一个XFStyle对象,再通过对象的属性对字体、对齐方式、边框等进行设定,例如在上面的例子,如果希望将表头单元格的背景色修改为黄色,可以按照如下的方式进行操作。...当然,如果要对表格数据进行处理,使用Python数据分析神器之一的pandas可能更为方便。...index=False参数用于告诉pandas保存时不包括行索引,从而使生成的Excel文件更加整洁。

10310

干货:4个小技巧助你搞定缺失、混乱的数据(附实例代码)

文档位于: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html 我们的处理过程,我们假设每个邮编可能会有不同的均价...探索模型变量之间的相互作用时也建议这么处理。 计算机是有限制的:整型是有上限的(尽管目前64位机器上这不是个问题),浮点型的精确度也有上限。 数据规范化是让所有的落在0到1的范围内(闭区间)。...准备 要实践本技巧,你要先装好pandas模块。 其他没有什么要准备的了。 2....想了解更多,可访问: http://www.numpy.org .digitize(...)方法对指定的每个,都返回所属的容器索引。第一个参数是要分级的,第二个参数是容器的数组。...准备 要实践本技巧,你要先装好pandas模块。 其他没有什么要准备的了。 2.

1.5K30

VBA专题11:详解UsedRange属性

实际上,根据UsedRange的意思,我们就可以明白,属性代表工作表已使用的区域,不仅包括可以看到内容的单元格,而且不包括应用了格式、添加批注或其他一些修改的单元格。...使用UsedRange属性,可以方便地找到工作表已使用的第一行、第一、最后一行和最后一,统计已使用区域的行列数以用于循环处理,等等。...即使它们定义了UsedRange属性返回的区域的边界,左上角和右下角单元格可能实际上不包含任何。...应用6:用于循环计数 假设工作表仅在A包含数字数据,可以使用下面的程序将总数存储B(第2: Sub EnterTotal() Dim firstRow As Long Dim...,如果在数据区域外,还有没有输入数据但应用了格式的单元格,此时的工作表已使用区域将扩大至单元格所在的行列范围,此时需要一些额外的处理。

7.2K32

通宵翻译Pandas官方文档,写了这份Excel万字肝货操作!

如果您不熟悉 Pandas,您可能需要先阅读 10 Minutes的官方文档,以熟悉库。... Pandas ,索引可以设置为一个(或多个)唯一,这就像在工作表中有一用作行标识符一样。与大多数电子表格不同,这些索引实际上可用于引用行。...利用构造一个数据框DataFrame Excel电子表格可以直接输入到单元格。...pandas 可以创建 Excel 文件、CSV 或许多其他格式。 数据操作 1. 操作 电子表格,公式通常在单个单元格创建,然后拖入其他单元格以计算其他的公式。...给定电子表格 A 和 B 的 date1 和 date2,您可能有以下公式: 等效的Pandas操作如下所示。

19.5K20
领券