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

Python代码实操:详解数据清洗

使用Pandas的 isnull() 判断值是否为空。 使用 all() 和 any() 判断每列是否包含至少1个为True或全部为True的情况。...除了示例中直接通过pd.DataFrame来直接创建数据框外,还可以使用数据框对象的 df.from_records、df.from_dict、df.from_items 来从元组记录、字典和键值对对象创建数据框...在使用不同的缺失值策略时,需要注意以下几个问题: 缺失值的处理的前提是已经可以正确识别所有缺失值字段,关于识别的问题在使用Pandas读取数据时可通过设置 na_values 的值指定。...更有效的是,如果数据中的缺失值太多而无法通过列表形式穷举时,replace 还支持正则表达式的写法。 当列中的数据全部为空值时,任何替换方法都将失效,任何基于中位数、众数和均值的策略都将失效。...先通过 df.copy() 复制一个原始数据框的副本,用来存储Z-Score标准化后的得分,再通过 df.columns 获得原始数据框的列名,接着通过循环判断每一列中的异常值。

5K20

【Python】基于某些列删除数据框中的重复值

subset:用来指定特定的列,根据指定的列对数据框去重。默认值为None,即DataFrame中一行元素全部相同时才去除。...默认值False,即把原数据copy一份,在copy数据上删除重复值,并返回新数据框(原数据框不改变)。值为True时直接在原数据视图上删重,没有返回值。...从结果知,参数为默认值时,是在原数据的copy上删除数据,保留重复数据第一条并返回新数据框。 感兴趣的可以打印name数据框,删重操作不影响name的值。...new_name_3 = name.drop_duplicates(subset='name1',inplace=True) new_name_3 结果中new_name_3的值为空,即设置inplace...结果和按照某一列去重(参数为默认值)是一样的。 如果想保留原始数据框直接用默认值即可,如果想直接在原始数据框删重可设置参数inplace=True。

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

    我用Python展示Excel中常用的20个操

    Pandas Pandas支持读取本地Excel、txt文件,也支持从网页直接读取表格数据,只用一行代码即可,例如读取上述本地Excel数据可以使用pd.read_excel("示例数据.xlsx")...Pandas 在Pandas中,可直接对数据框进行条件筛选,例如同样进行单个条件(薪资大于5000)的筛选可以使用df[df['薪资水平']>5000],如果使用多个条件的筛选只需要使用&(并)与|(或...缺失值处理 说明:对缺失值(空值)按照指定要求处理 Excel 在Excel中可以按照查找—>定位条件—>空值来快速定位数据中的空值,接着可以自己定义缺失值的填充方式,比如将缺失值用上一个数据进行填充...数据合并 说明:将两列或多列数据合并成一列 Excel 在Excel中可以使用公式也可以使用Ctrl+E快捷键完成多列合并,以公式为例,合并示例数据中的地址+岗位列步骤如下 ?...数据抽样 说明:对数据按要求采样 Excel 在Excel中抽样可以使用公式也可以使用分析工具库中的抽样,但是仅支持对数值型的列抽样,比如随机抽20个示例数据中薪资的样本 ?

    5.6K10

    Python替代Excel Vba系列(三):pandas处理不规范数据

    本文要点: 使用 pandas 处理不规范数据。 pandas 中的索引。...脚本中导入 ---- ---- 设定目标数据格式 我们需要得到最小维度的数据格式,即每天每个班的每节课是哪位老师负责的哪个科目。...注意索引是从0开始算。 values=arr[3:],从第4行往后一大片作为值。 pd.DataFrame(values,columns=header) , 生成一个 DataFrame 。...此外 pandas 中有各种内置的填充方式。 ffill 表示用上一个有效值填充。 合并单元格很多时候就是第一个有值,其他为空,ffill 填充方式刚好适合这样的情况。...如下是一个 DataFrame 的组成部分: 红框中的是 DataFrame 的值部分(values) 上方深蓝色框中是 DataFrame 的列索引(columns),注意,为什么方框不是一行?

    5K30

    提高效率 |ArcGIS Pro 中所有快捷键一网打尽

    Ctrl+L 当布局为活动视图时,锁定或解锁在内容窗格中选择的项目。 Ctrl+Shift+L 当布局为活动视图时,请在内容窗格中锁定或解锁该级别上的所有项目。...应用当前编辑并转至同一列的上一行。 创建注记 用于注记构造工具的键盘快捷键 键盘快捷键 操作 注释 Ctrl+W 查找文本 使用最顶层所选要素图层中的标注表达式或字段值替换文本框中的文本字符串。...激活“浏览”工具时 用于在激活“浏览”工具时导航地图的键盘快捷键 键盘快捷键 操作 注释 P 在 3D 场景中,从正上方向下(垂直)观看。 按一下此键,视图将自动平移,变为垂直向下显示您的数据。...Ctrl+Shift+U 移除字段排序。 Ctrl+Shift+S 打开自定义排序对话框。 Ctrl+双击 隐藏字段。该操作仅适用于单个字段。...要在不打开字段视图的情况下重新显示所有字段,请单击表格视图顶部的菜单按钮,然后单击显示所有字段。此时,所有隐藏字段将恢复为显示状态,并在表格视图和其他对话框中变为可用状态。

    1.3K20

    利用query()与eval()优化pandas代码

    目前pandas中的query()已经进化得非常好用(笔者目前使用的pandas版本为1.1.0)。...TV」 ❞ 图3 通过比较可以发现在使用query()时我们在不需要重复书写数据框名称[字段名]这样的内容,字段名也直接可以当作变量使用,而且不同条件之间不需要用括号隔开,在条件繁杂的时候简化代码的效果更为明显...,其中对字段名的命名规范有一定要求:当字段名符合Python中对变量命名规范的要求时,即变量名完全由「字母」、「数字」、「下划线」构成且不以「数字」开头,这样的字段是可以直接写入query()表达式的。...的names为空的情况,按照顺序,用ilevel_n表示MultiIndex中的第n列index: # 构造含有MultiIndex的数据框,并重置index的names为None temp = netflix.set_index...策略之后无法被解析的日期会填充pd.NAT,而缺失值之间是无法进行相等比较的: # 利用assign进行新增字段计算并保存为新数据框 result1 = netflix.assign(years_to_now

    1.5K30

    (数据科学学习手札92)利用query()与eval()优化pandas代码

    ,目前pandas中的query()已经进化得非常好用(笔者目前使用的pandas版本为1.1.0)。   ...图3   通过比较可以发现在使用query()时我们在不需要重复书写数据框名称[字段名]这样的内容,字段名也直接可以当作变量使用,而且不同条件之间不需要用括号隔开,在条件繁杂的时候简化代码的效果更为明显...,其中对字段名的命名规范有一定要求:当字段名符合Python中对变量命名规范的要求时,即变量名完全由字母、数字、下划线构成且不以数字开头,这样的字段是可以直接写入query()表达式的。   ...策略之后无法被解析的日期会填充pd.NAT,而缺失值之间是无法进行相等比较的: # 利用assign进行新增字段计算并保存为新数据框 result1 = netflix.assign(years_to_now...图13   虽然assign()已经算是pandas中简化代码的很好用的API了,但面对eval(),还是逊色不少 DataFrame.eval()通过传入多行表达式,每行作为独立的赋值语句,其中对应前面数据框中数据字段可以像

    1.7K20

    使用pandas进行数据快捷加载

    默认情况下,pandas会将数据存储到一个专门的数据结构中,这个数据结构能够实现按行索引、通过自定义的分隔符分隔变量、推断每一列的正确数据类型、转换数据(如果需要的话),以及解析日期、缺失值和出错数据。...iris的pandas数据框(DataFrame)。...以下是X数据集的后4行数据: ? 在这个例子中,得到的结果是一个pandas数据框。为什么使用相同的函数却有如此大的差异呢?...那么,在前一个例子中,我们想要抽取一列,因此,结果是一维向量(即pandas series)。 在第二个例子中,我们要抽取多列,于是得到了类似矩阵的结果(我们知道矩阵可以映射为pandas的数据框)。...然后,接下来的步骤需要弄清楚要处理的问题的规模,因此,你需要知道数据集的大小。通常,对每个观测计为一行,对每一个特征计为一列。

    2.1K21

    时间序列数据处理,不再使用pandas

    中的日期格式是十分关键的,因为其他库通常需要日期字段采用 Pandas 数据时间格式。...比如一周内商店的概率预测值,无法存储在二维Pandas数据框中,可以将数据输出到Numpy数组中。...Gluonts--从长表格式 Pandas 数据框 gluons.dataset.pandas 类有许多处理 Pandas 数据框的便捷函数。...将图(3)中的宽格式商店销售额转换一下。数据帧中的每一列都是带有时间索引的 Pandas 序列,并且每个 Pandas 序列将被转换为 Pandas 字典格式。...当所有时间序列中存在一致的基本模式或关系时,它就会被广泛使用。沃尔玛案例中的时间序列数据是全局模型的理想案例。相反,如果对多个时间序列中的每个序列都拟合一个单独的模型,则该模型被称为局部模型。

    22310

    使用Python分析数据并进行搜索引擎优化

    None 6.定义parse函数用于解析网页响应内容,并返回数据列表async def parse(response):# 定义数据列表data = []# 判断响应内容是否为空if response:...我们可以使用pandas库的head方法,来查看数据框的前几行,了解数据的结构和内容。我们可以使用pandas库的shape属性,来查看数据框的行数和列数,了解数据的规模。...我们可以使用pandas库的describe方法,来查看数据框的基本统计信息,了解数据的分布和特征。...我们可以使用pandas库的value_counts方法,来查看每个字段的值出现的频次,了解数据的分布情况。...# 查看标题字段的值出现的频次df["title"].value_counts()# 查看链接字段的值出现的频次df["link"].value_counts()# 查看摘要字段的值出现的频次df["summary

    24020

    一场pandas与SQL的巅峰大战

    而在SQL中,需要执行的语句是select * from t_order;表示从t_order表中查询全部的数据,*号表示查询所有的字段。结果如下:(点击图片可以查看大图) ?...例如我们查询uid为10003或者金额大于50的记录。(点击图片可以查看大图) ? 这里需要特别说明的是有一种情况是需要判断某字段是否为空值。...key值,第四个是连接的方式,how为left时表示是左连接。...SQL操作时基本也是同样的逻辑,要指定主表,从表,连接方式和连接字段。此处我们使用user连接order并查询所有字段和所有记录。...它更常见于SQL场景中,可能会用于分组,可能会用于赋值,也可能用于其他场景。分组,比如按照一定的分数区间分成优良中差。赋值,比如当数值小于0时,按照0计算。我们来举例看一下分组的场景。

    2.3K20

    常见的复制粘贴,VBA是怎么做的

    此外,它们被设计为从特定的源工作表复制到该示例工作簿中的另一个目标工作表。 通过调整对象引用的构建方式,可以轻松修改这些行为。...(或2),将复制的数据与目标单元格中的值相加;xlPasteSpecialOperationSubtract(或3),表示从目标单元格中的值中减去复制的数据;xlPasteSpecialOperationMultipy...(或4),将复制的数据与目标单元格中的值相乘;xlPasteSpecialOperationDivide(或5),将目标单元格内的值除以复制的数据。...如果SkipBlanks设置为True,则被复制的单元格区域中的空单元格不会粘贴到目标单元格区域;如果设置为False,则粘贴空单元格。该参数默认值为False。...如果忽略该参数,则会在目标区域中粘贴空单元格。 Transpose参数允许指定粘贴时是否转置复制区域的行和列(交换位置),可以设置为True或Flase。

    12.2K20

    没错,这篇文章教你妙用Pandas轻松处理大规模数据

    在这篇文章中,我们将介绍 Pandas 的内存使用情况,以及如何通过为数据框(dataframe)中的列(column)选择适当的数据类型,将数据框的内存占用量减少近 90%。...最原始的数据是 127 个独立的 CSV 文件,不过我们已经使用 csvkit 合并了这些文件,并且在第一行中为每一列添加了名字。...当每个指针占用一字节的内存时,每个字符的字符串值占用的内存量与 Python 中单独存储时相同。...category 类型在底层使用整数类型来表示该列的值,而不是原始值。Pandas 用一个单独的字典来映射整数值和相应的原始值之间的关系。当某一列包含的数值集有限时,这种设计是很有用的。...当对象列中少于 50% 的值时唯一对象时,我们应该坚持使用 category 类型。但是如果这一列中所有的值都是唯一的,那么 category 类型最终将占用更多的内存。

    3.7K40

    【数据分析】数据缺失影响模型效果?是时候需要missingno工具包来帮你了!

    这是在条形图中确定的,但附加的好处是您可以「查看丢失的数据在数据框中的分布情况」。 绘图的右侧是一个迷你图,范围从左侧的0到右侧数据框中的总列数。上图为特写镜头。...当一行的每列中都有一个值时,该行将位于最右边的位置。当该行中缺少的值开始增加时,该行将向左移动。 热图 热图用于确定不同列之间的零度相关性。换言之,它可以用来标识每一列之间是否存在空值关系。...接近正1的值表示一列中存在空值与另一列中存在空值相关。 接近负1的值表示一列中存在空值与另一列中存在空值是反相关的。换句话说,当一列中存在空值时,另一列中存在数据值,反之亦然。...接近0的值表示一列中的空值与另一列中的空值之间几乎没有关系。 有许多值显示为一列中是否存在空值与其他列中是否存在空值直接相关。树中的列越分离,列之间关联null值的可能性就越小。

    4.8K30

    pandas参数设置小技巧

    在日常使用pandas的过程中,由于我们所分析的数据表规模、格式上的差异,使得同样的函数或方法作用在不同数据上的效果存在差异。   ...而pandas有着自己的一套参数设置系统,可以帮助我们在遇到不同的数据时灵活调节从而达到最好的效果,本文就将介绍pandas中常用的参数设置方面的知识。 ?...图4 4 指定小于某个数的元素显示为0   通过display.chop_threshold参数我们在不修改原始数据的情况下,指定数据框中绝对值小于阈值的数显示为0: ?...图6 6 设置info()方法中非缺失值检查的行数上限   针对数据框的info()方法可以帮助我们查看数据框的一些概览信息,譬如每一列对应的非缺失值个数。   ...但默认情况下当数据框行数大于1690784行时,再查看info()信息,会处于计算效率的考虑略去缺失值检查信息。

    1.2K20

    6个冷门但实用的pandas知识点

    2]) # Series转为DataFrame,name参数用于指定转换后的字段名 s = s.to_frame(name='列名') s 图2 顺便介绍一下单列数据组成的数据框转为Series...的记录行顺序 有时候我们需要对数据框整体的行顺序进行打乱,譬如在训练机器学习模型时,打乱原始数据顺序后取前若干行作为训练集后若干行作为测试集,这在pandas中可以利用sample()方法快捷实现。...sample()方法的本质功能是从原始数据中抽样行记录,默认为不放回抽样,其参数frac用于控制抽样比例,我们将其设置为1则等价于打乱顺序: df = pd.DataFrame({ 'V1':...range(5), 'V2': range(5) }) df.sample(frac=1) 图4 2.3 利用类别型数据减少内存消耗 当我们的数据框中某些列是由少数几种值大量重复形成时,会消耗大量的内存...在pandas中我们可以对单个Series查看hanans属性来了解其是否包含缺失值,而结合apply(),我们就可以快速查看整个数据框中哪些列含有缺失值: df = pd.DataFrame({

    89130

    一场pandas与SQL的巅峰大战

    而在SQL中,需要执行的语句是select * from t_order;表示从t_order表中查询全部的数据,*号表示查询所有的字段。结果如下:(点击图片可以查看大图) ?...例如我们查询uid为10003或者金额大于50的记录。(点击图片可以查看大图) ? 这里需要特别说明的是有一种情况是需要判断某字段是否为空值。...key值,第四个是连接的方式,how为left时表示是左连接。...SQL操作时基本也是同样的逻辑,要指定主表,从表,连接方式和连接字段。此处我们使用user连接order并查询所有字段和所有记录。...它更常见于SQL场景中,可能会用于分组,可能会用于赋值,也可能用于其他场景。分组,比如按照一定的分数区间分成优良中差。赋值,比如当数值小于0时,按照0计算。我们来举例看一下分组的场景。

    1.7K40

    一场pandas与SQL的巅峰大战

    而在SQL中,需要执行的语句是select * from t_order;表示从t_order表中查询全部的数据,*号表示查询所有的字段。结果如下:(点击图片可以查看大图) ?...例如我们查询uid为10003或者金额大于50的记录。(点击图片可以查看大图) ? 这里需要特别说明的是有一种情况是需要判断某字段是否为空值。...key值,第四个是连接的方式,how为left时表示是左连接。...SQL操作时基本也是同样的逻辑,要指定主表,从表,连接方式和连接字段。此处我们使用user连接order并查询所有字段和所有记录。...它更常见于SQL场景中,可能会用于分组,可能会用于赋值,也可能用于其他场景。分组,比如按照一定的分数区间分成优良中差。赋值,比如当数值小于0时,按照0计算。我们来举例看一下分组的场景。

    1.6K10

    Pandas部分应掌握的重要知识点

    Pandas部分应掌握的重要知识点 import numpy as np import pandas as pd 一、DataFrame数据框的创建 1、直接基于二维数据创建(同时使用index和columns...team.head() 二、查看数据框中的数据和联机帮助信息 1、查看特殊行的数据 (1)查看前n行:head(n),不指定n时默认前5行。...(2)当只涉及到按列标签查看数据时,可以使用下列简化方法(不使用索引器): print(team['team'].unique()) #按列标签选择一列 team[['name','Q1']].head...的过滤条件要求显式的指定某一列 六、处理缺失值 1、Pandas中缺失值的表示 Pandas表示缺失值的一种方法是使用NaN(Not a Number),它是一个特殊的浮点数;另一种是使用Python中的...只有全为空值的列才会被删除。

    4800

    6个冷门但实用的pandas知识点

    图3 2.2 随机打乱DataFrame的记录行顺序   有时候我们需要对数据框整体的行顺序进行打乱,譬如在训练机器学习模型时,打乱原始数据顺序后取前若干行作为训练集后若干行作为测试集,这在pandas...sample()方法的本质功能是从原始数据中抽样行记录,默认为不放回抽样,其参数frac用于控制抽样比例,我们将其设置为1则等价于打乱顺序: df = pd.DataFrame({ 'V1':...图4 2.3 利用类别型数据减少内存消耗   当我们的数据框中某些列是由少数几种值大量重复形成时,会消耗大量的内存,就像下面的例子一样: import numpy as np pool = ['A',...图10 2.5 快速判断每一列是否有缺失值   在pandas中我们可以对单个Series查看hanans属性来了解其是否包含缺失值,而结合apply(),我们就可以快速查看整个数据框中哪些列含有缺失值...图11 2.6 使用rank()计算排名时的五种策略   在pandas中我们可以利用rank()方法计算某一列数据对应的排名信息,但在rank()中有参数method来控制具体的结果计算策略,有以下5

    1.2K40
    领券