首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Pandas清洗数据的4个实用小技巧

pandas 是做数据分析时的必备库。在数据分析之前,我们往往需要对数据的大小、内容、格式做一定处理,去掉无效和缺失,保持结构统一,使其便于之后的分析。这一过程被称作“数据清洗”。...读取时抽样 1% 对于动辄就几十或几百个 G 的数据,在读取这么大数据时,有没有办法随机选取一小部分数据,然后读入内存,快速了解数据和开展 EDA ?...这里有一个快速清洗数据的小技巧,某列上使用 replace 方法和正则,快速完成的清洗。...(d) df 打印结果: customer sales 0 A 1100 1 B 950.5RMB 2 C $400 3 D $1250.75 看到 sales ,有整型,浮点型+RMB后变为字符串型... datetime 告诉 year(年份)和 dayofyear(一年中的第几天),怎么 datetime?

1.3K10

直观地解释和可视化每个复杂的DataFrame操作

Pivot 透视表将创建一个新的“透视表”,该透视表将数据中的现有投影为新表的元素,包括索引,。初始DataFrame中将成为索引的,并且这些显示为唯一,而这两的组合将显示为。...Melt Melt可以被认为是“不可透视的”,因为它将基于矩阵的数据(具有二维)转换为基于列表的数据(列表示表示唯一的数据点),而枢轴则相反。...包含将转换为:一用于变量(的名称),另一用于(变量中包含的数字)。 ? 结果是ID(a,b,c)和(B,C)及其对应的每种组合,以列表格式组织。...Unstack 取消堆叠将获取多索引DataFrame并对其进行堆叠,将指定级别的索引转换为具有相应的新DataFrame表上调用堆栈后再调用堆栈不会更改该堆栈(原因是存在“ 0 ”)。...另一方面,如果一个键同一DataFrame中列出两次,则在合并表中将列出同一键的每个组合。

13.3K20

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

.replace(['/','nan'],np.nan),把读取进来的有些无效换为 nan,这是为了后续操作方便。...这里不能直接整数,因为 python 怕有精度丢失,直接转换 int 会报错。因此先 float,再 int。...此外 pandas 中有各种内置的填充方式。 ffill 表示用上一个有效填充。 合并单元格很多时候就是第一个有,其他为空,ffill 填充方式刚好适合这样的情况。...如下是一个 DataFrame 的组成部分: 红框中的是 DataFrame部分(values) 上方深蓝色框中是 DataFrame索引(columns),注意,为什么方框不是一?...如下图: 不妨 excel 的透视表上操作一下,把一个放入列区域的字段移到区域上,就是上图的结果。 ---- ---- 回到我们的例子。

5K30

别找了,这是 Pandas 最详细教程了

本文自『机器之心编译』(almosthuman2014) Python 是开源的,它很棒,但是也无法避免开源的一些固有问题:很多包都在做(或者尝试做)同样的事情。...这点很棒,因为你只需要使用 pandas 就可以完成工作。 pandas 相当于 python 中 excel:它使用表(也就是 dataframe),能在数据上做各种变换,但还有其他很多功能。...更新数据 data.loc[8, column_1 ] = english 将第八名为 column_1 的换为「english」 代码中改变多 好了,现在你可以做一些 excel...column_3 ]) 关联三只需要一代码 分组 一开始并不是那么简单,你首先需要掌握语法,然后你会发现你一直使用这个功能。...正如前面解释过的,为了优化代码,中将你的函数连接起来。

2K20

python下的PandasDataFrame基本操作(二),DataFrame、dict、array构造简析

DataFrame简介:   DataFrame是一个表格型的数据结构,它含有一组有序的,每可以是不同的类型(数值、字符串、布尔等)。...DataFrame既有索引也有索引,它可以被看做由Series组成的字典(共用同一个索引)。...跟其他类似的数据结构相比(如R的data.frame),DataFrame中面向和面向的操作基本上是平衡的。...(np.array(s)) 0 1 0 1 2 1 3 4  当然了你也可以主动指定索引(不赘述): >>> pd.DataFrame(np.array(s),index=['...7 3 4 8 第二种:将包含不同子列表的列表转换为数据框 from pandas.core.frame import DataFrame a=[[1,2,3,4],[5,6,7,8]]#包含两个不同的子列表

4.3K30

7步搞定数据清洗-Python数据清洗指南

有没有缺失;如果有的话,缺失多不多? 现有数据里面有没有脏数据?尤其需要注意人工输入的数据,经常会出现名称写错,多输入空格等等的情况 3....日期调整前(为求简便这里用已经剔除分秒,剔除的办法后面格式一致化的空格分割再详细说) #数据类型转换:字符串转换为日期 #errors='coerce' 如果原始数据不符合日期的格式,转换后的为空...python缺失有3种: 1)Python内置的None 2)pandas中,将缺失表示为NA,表示不可用not available。...axis=1表示逢空去掉整列 # 'any'如果一(或一)里任何一个数据有任何出现Nan就去掉整行, ‘all’一(或)每一个数据都是Nan才去掉这整行 DataDF.dropna(how.../pandas.DataFrame.fillna.html#pandas.DataFrame.fillna 1) 用默认填充- df.fillna(' ') 我们应该去掉那些不友好的 NaN

4.4K20

资源 | 23种Pandas核心操作,你需要过一遍吗?

选自 Medium 作者:George Seif 机器之心编译 参与:思源 本文自机器之心,转载需授权 Pandas 是一个 Python 软件库,它提供了大量能使我们快速便捷地处理数据的函数和方法...本文中,作者从基本数据集读写、数据处理和 DataFrame 操作三个角度展示了 23 个 Pandas 核心方法。...本文中,基本数据集操作主要介绍了 CSV 与 Excel 的读写方法,基本数据处理主要介绍了缺失及特征抽取,最后的 DataFrame 操作则主要介绍了函数和排序等方法。...(13)将 DataFrame换为 NumPy 数组 df.as_matrix() (14)取 DataFrame 的前面「n」 df.head(n) (15)通过特征名取数据 df.loc[feature_name...并仅显示等于 5 的: df[df["size"] == 5] (23)选定特定的 以下代码将选定「size」、第一: df.loc([0], ['size']) 原文链接: https:

2.9K20

4个解决特定的任务的Pandas高效代码

本文中,我将分享4个代码中完成的Pandas操作。这些操作可以有效地解决特定的任务,并以一种好的方式给出结果。 从列表中创建字典 我有一份商品清单,我想看看它们的分布情况。...,这是Pandas的一维数据结构,然后应用value_counts函数来获得Series中出现频率的唯一,最后将输出转换为字典。...如果有一缺少(即NaN),用B中同一填充它。...如果我们想要使用3,我们可以链接combine_first函数。下面的代码首先检查a。如果有一个缺失的,它从B中获取它。如果B中对应的也是NaN,那么它从C中获取值。...在这种情况下,所有缺失的都从第二个DataFrame的相应(即同一,同)中填充。

18710

不会Pandas怎么

作者:Félix Revert 翻译:Nurhachu Null、张倩 本文自公众号 机器之心 Pandas 是为了解决数据分析任务而创建的一种基于 NumPy 的工具包,囊括了许多其他工具包的功能,...这点很棒,因为你只需要使用 pandas 就可以完成工作。 pandas 相当于 python 中 excel:它使用表(也就是 dataframe),能在数据上做各种变换,但还有其他很多功能。...更新数据 将第八名为 column_1 的换为「english」 代码中改变多 好了,现在你可以做一些 excel 中可以轻松访问的事情了。...column_3']) 关联三只需要一代码 分组 一开始并不是那么简单,你首先需要掌握语法,然后你会发现你一直使用这个功能。...正如前面解释过的,为了优化代码,中将你的函数连接起来。

1.5K40

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

Pandas 中,索引可以设置为一个(或多个)唯一,这就像在工作表中有一用作标识符一样。与大多数电子表格不同,这些索引实际上可用于引用。...索引也是持久的,所以如果你对 DataFrame 中的重新排序,特定的标签不会改变。 5. 副本与就地操作 大多数 Pandas 操作返回 Series/DataFrame 的副本。... Pandas 中,您需要更多地考虑控制 DataFrame 的显示方式。 默认情况下,pandas 会截断大型 DataFrame 的输出以显示第一和最后一。... Pandas 中,您可以直接对整列进行操作。 pandas 通过 DataFrame 中指定单个系列来提供矢量化操作。可以以相同的方式分配新。... Pandas 中,您需要在从 CSV 读取时或在 DataFrame 中读取一次时,将纯文本显式转换为日期时间对象。 解析后,Excel电子表格以默认格式显示日期,但格式可以更改。

19.5K20

高效的10个Pandas函数,你都用过吗?

Ture表示允许新的列名与已存在的列名重复 接着用前面的df: 第三的位置插入新: #新 new_col = np.random.randn(10) #第三位置插入新,从0开始计算...Where Where用来根据条件替换行或中的。如果满足条件,保持原来的,不满足条件则替换为其他。默认替换为NaN,也可以指定特殊。...,为False则在原数据的copy上操作 axis: 将df中value_1里小于5的换为0: df['value_1'].where(df['value_1'] > 5 , 0) Where...用法: Series.isin(values) 或者 DataFrame.isin(values) 筛选df中year['2010','2014','2017']里的: years = ['2010...用法: DataFrame.loc[] 或者 DataFrame.iloc[] loc:按标签(column和index)选择 iloc:按索引位置选择 选择df第1~3、第1~2的数据

4.1K20

盘点66个Pandas函数,轻松搞定“数据清洗”!

今天我们重新盘点66个Pandas函数合集,包括数据预览、数值数据操作、文本数据操作、/操作等等,涉及“数据清洗”的方方面面。...df.isnull().any() 输出: 日期 False 销量 True dtype: bool 发现“销量”这存在缺失后,处理办法要么删除dropna() ,要么填充fillna...操作 数据清洗时,会将带空删除,此时DataFrame或Series类型的数据不再是连续的索引,可以使用reset_index()重置索引。...df.rename(columns={'mark': 'sell'}, inplace=True) 输出: 行列置,我们可以使用T属性获得置后的DataFrame。...] Series 按数字索引选择 df.iloc[loc] Series 使用切片选择 df[:5] DataFrame 用表达式筛选[3] df[bool_vec] DataFrame 除此以外

3.7K11

Pandas图鉴(四):MultiIndex

否则,Pandas将永远不知道你指的是Oregon这一还是Oregon第二层。...它感觉不够Pythonic,尤其是选择多个层次时。 这个方法无法同时过滤,所以名字xs(代表 "cross-section")背后的原因并不完全清楚。它不能用于设置。...这意味着你不能用它来实现df[:, 'population'],而不需要DataFrame(除非所有都是相同的类型,否则会丢失类型)。...将MultiIndex转换为flat的索引并将其恢复 方便的查询方法只解决了处理中MultiIndex的复杂性。...手动解读MultiIndex的层数并不方便,所以更好的办法DataFrame保存为CSV之前,将所有的头层数stack(),而在读取之后再将其unstack()。

39320
领券