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

python数据分析笔记——数据加载与整理

5、文本中缺失值处理,缺失数据要么是没有(空字符串),要么是用某个标记值表示的,默认情况下,pandas会用一组经常出现的标记值进行识别,如NA、NULL等。查找出结果以NAN显示。...(2)层次化索引 与数据库中用on来根据多个键合并一样。 3、轴向连接(合并) 轴向连接,默认是在轴方向进行连接,也可以通过axis=1使其进行横向连接。...(2)对于pandas对象(如Series和DataFrame),可以pandas中的concat函数进行合并。...(2)将‘长格式’旋转为‘宽格式’ 2、转换数据 (1)数据替换,将某一值或多个值用新的值进行代替。(比较常用的是缺失值或异常值处理,缺失值一般都用NULL、NAN标记,可以用新的值代替缺失标记值)。...一对一替换:用np.nan替换-999 多对一替换:用np.nan替换-999和-1000. 多对多替换:用np.nan代替-999,0代替-1000. 也可以使用字典的形式来进行替换。

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

    数据分析利器--Pandas

    1、前言 pandas是python数据分析中一个很重要的包; 在学习过程中我们需要预备的知识点有:DataFrame、Series、NumPy、NaN/None; 2、预备知识点详解 NumPy...(参考:Series与DataFrame) DataFrame:一个Datarame表示一个表格,类似电子表格的数据结构,包含一个经过排序的列表集,它们每一个都可以有不同的类型值(数字,字符串,布尔等等...在底层,数据是作为一个或多个二维数组存储的,而不是列表,字典,或其它一维的数组集合。因为DataFrame在内部把数据存储为一个二维数组的格式,因此你可以采用分层索引以表格格式来表示高维的数据。...(参考:Series与DataFrame) NaN/None: python原生的None和pandas, numpy中的numpy.NaN尽管在功能上都是用来标示空缺数据。...(参考:NaN 和None 的详细比较) 3、pandas详解 3.1 简介: pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库

    3.7K30

    Python—关于Pandas的缺失值问题(国内唯一)

    这些是Pandas可以检测到的缺失值。 回到我们的原始数据集,让我们看一下“ ST_NUM”列。 ? 第三列中有一个空单元格。在第七行中,有一个“ NA”值。 显然,这些都是缺失值。...意外的缺失值 到目前为止,我们已经看到了标准缺失值和非标准缺失值。如果我们出现意外类型怎么办? 例如,如果我们的功能应该是字符串,但是有数字类型,那么从技术上讲,这也是一个缺失值。...遍历OWN_OCCUPIED列 尝试将条目转换为整数 如果条目可以更改为整数,请输入缺失值 如果数字不能是整数,我们知道它是一个字符串,所以继续 看一下代码,然后我将对其进行详细介绍 # 检测数据 cnt...except ValueError: pass cnt+=1 在代码中,我们循环浏览“所有者已占用”列中的每个条目。...代码的另一个重要部分是.loc方法。这是用于修改现有条目的首选Pandas方法。有关此的更多信息,请查看Pandas文档。 现在,我们已经研究了检测缺失值的不同方法,下面将概述和替换它们。

    3.2K40

    -Pandas 清洗“脏”数据(一)

    不幸的是,有一些列的值是缺失的,有些列的默认值是0,有的是 NaN(Not a Number)。 下面我们通过使用 Pandas 提供的功能来清洗“脏”数据。...下面介绍几个处理缺失数据的方法: 为缺失数据赋值默认值 去掉/删除缺失数据行 去掉/删除缺失率高的列 添加默认值 我们应该去掉那些不友好的 NaN 值。但是,我们应该用什么值替换呢?...在我们的案例中,我们推断地区并不是很重要,所以,我们可是使用“”空字符串或其他默认值。...data.country= data.country.fillna('') 上面,我们就将“country”整个列使用“”空字符串替换了,或者,我们也可以轻易地使用“None Given”这样的默认值进行替换...规范化数据类型 有的时候,尤其当我们读取 csv 中一串数字的时候,有的时候数值类型的数字被读成字符串的数字,或将字符串的数字读成数据值类型的数字。

    3.9K70

    Pandas数据类型转换:astype与to_numeric

    在数据分析领域,Pandas是一个非常重要的工具。它提供了丰富的功能来处理和分析结构化数据。然而,在实际使用中,我们经常需要对数据进行类型转换,以确保数据的正确性和后续操作的有效性。...本文将深入探讨Pandas中的两种常用的数据类型转换方法:astype 和 to_numeric,并介绍常见问题、报错及解决方案。一、数据类型转换的重要性在数据分析过程中,数据类型的选择至关重要。...({'A': ['1', '2', '3'], 'B': ['4.5', '5.6', '6.7']}) df['A'] = df['A'].astype(int)多列转换对于多个列的类型转换,可以通过传递一个字典给...(一)优势自动识别缺失值to_numeric 可以自动将无法解析为数字的值替换为NaN,这使得它非常适合处理含有脏数据的数据集。优化内存占用使用downcast参数可以帮助减少不必要的内存消耗。...对于无法转换的值(如'abc'),它们会被设置为NaN。四、总结astype 和 to_numeric 都是非常强大的工具,能够帮助我们在Pandas中灵活地进行数据类型转换。

    25210

    将文本字符串转换成数字,看pandas是如何清理数据的

    标签:pandas 本文研讨将字符串转换为数字的两个pandas内置方法,以及当这两种方法单独不起作用时,如何处理一些特殊情况。 运行以下代码以创建示例数据框架。...每列都包含文本/字符串,我们将使用不同的技术将它们转换为数字。我们使用列表解析创建多个字符串列表,然后将它们放入数据框架中。...记住,数据框架中的所有值都是字符串数据类型。 图1 df.astype()方法 这可能是最简单的方法。我们可以获取一列字符串,然后强制数据类型为数字(即整数或浮点数)。...然而,这种方法在某些需要清理数据的情况下非常方便。例如,列l8中的数据是“文本”数字(如“1010”)和其他实文本(如“asdf”)的混合。...在pd.to_numeric方法中,当errors=’coerce’时,代码将运行而不引发错误,但对于无效数字将返回NaN。 然后我们可以用其他伪值(如0)替换这些NaN。

    7.3K10

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

    其中由于Pandas对于数据探索、分析和探查的支持较为良好,因此围绕Pandas的缺失值处理较为常用。 1. 导入库 该代码示例中用到Pandas、Numpy和sklearn。...Imputer 方法创建一个预处理对象,其中 missing_values 为默认缺失值的字符串,默认为 NaN;示例中选择缺失值替换方法是均值(默认),还可以选择使用中位数和众数进行替换,即 strategy...在示例中, nan_result_pd4、nan_result_pd5、nan_result_pd6 分别使用0、不同的值、平均数替换缺失值。...但是如果数据已经读取完毕并且不希望再重新读取,那可以使用Pandas的 replace 功能将指定的字符串(或列表)替换为 NaN。...判断方法为 df.duplicated(),该方法中两个主要的参数是 subset 和 keep。 subset:要判断重复值的列,可以指定特定列或多个列。默认使用全部列。

    5K20

    Pandas知识点-缺失值处理

    Pandas中的空值有三个:np.nan (Not a Number) 、 None 和 pd.NaT(时间格式的空值,注意大小写不能错),这三个值可以用Pandas中的函数isnull(),notnull...如果数据量较大,再配合numpy中的any()和all()函数就行了。 需要特别注意两点: 如果某一列数据全是空值且包含pd.NaT,np.nan和None会自动转换成pd.NaT。...从Python解释器来看,np.nan的类型是float,None的类型是NoneType,两者在Pandas中都显示为NaN,pd.NaT的类型是Pandas中的NaTType,显示为NaT。...而不管是空字符串还是空格,其数据类型都是字符串,Pandas判断的结果不是空值。 2. 自定义缺失值有很多不同的形式,如上面刚说的空字符串和空格(当然,一般不用这两个,因为看起来不够直观)。...找到这些值后,将其替换成np.nan,数据就只有空值一种缺失值了。 此外,在数据处理的过程中,也可能产生缺失值,如除0计算,数字与空值计算等。 二、判断缺失值 1.

    5K40

    数据分析篇(五)

    不同的是在第一行和第一列的地方多了索引。...# 以下我们认为attr3中有很多数据,字段还是和上面的一样 # 取前50行数据 attr3[:50] # 取前20行的name字段 attr3[:20]['name'] # 单独取某一列的数据 attr3...]] # 取第一列和第三列 attr4.iloc[[0,1],[0,2]] # 取第一行和第二行的第一列和第三列 # 布尔索引 # 取出年龄大于10的 attr4[attr4['age']>10] #...取出年龄大于10,小于20的 attr4[(10<attr4['age'])&(attr4['age']<20)] # &表示and |表示或 pandas中字符串的方法 # 这里只介绍常用几种 # 模糊查询名字含有三的是...缺失数据的处理 我们如果读取爬去到的大量数据,可能会存在NaN值。 出现NaN和numpy中是一样的,表示不是一个数字。 我们需要把他修改成0获取其他中值,来减少我们计算的误差。

    77820

    在数据框架中创建计算列

    标签:Python与Excel,pandas 在Excel中,我们可以通过先在单元格中编写公式,然后向下拖动列来创建计算列。在PowerQuery中,还可以添加“自定义列”并输入公式。...图1 在pandas中创建计算列的关键 如果有Excel和VBA的使用背景,那么一定很想遍历列中所有内容,这意味着我们在一个单元格中创建公式,然后向下拖动。然而,这不是Python的工作方式。...panda数据框架中的字符串操作 让我们看看下面的示例,从公司名称列中拆分中文和英文名称。df[‘公司名称’]是一个pandas系列,有点像Excel或Power Query中的列。...处理数据框架中NAN或Null值 当单元格为空时,pandas将自动为其指定NAN值。我们需要首先考虑这些值,因为在大多数情况下,pandas不知道如何处理它们。...我们可以使用.fillna()方法将NAN值替换为我们想要的任何值。出于演示目的,这里只是将NAN值替换为字符串值“0”。

    3.8K20

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

    中最主要的数据分析库之一,它提供了非常多的函数、方法,可以高效地处理并分析数据。...Insert Insert用于在DataFrame的指定位置中插入新的数据列。默认情况下新列是添加到末尾的,但可以更改位置参数,将新列添加到任何位置。...Where Where用来根据条件替换行或列中的值。如果满足条件,保持原来的值,不满足条件则替换为其他值。默认替换为NaN,也可以指定特殊值。...「掩码」(英语:Mask)在计算机学科及数字逻辑中指的是一串二进制数字,通过与目标数字的按位操作,达到屏蔽指定位而实现需求。 6....Isin Isin也是一种过滤方法,用于查看某列中是否包含某个字符串,返回值为布尔Series,来表明每一行的情况。

    4.2K20

    一看就会的Pandas文本数据处理

    文本数据类型 在pandas中存储文本数据有两种方式:object 和 string。...在pandas 1.0版本之前,object是唯一的文本类型,在一列数据中如果包含数值和文本等混合类型则一般也会默认为object。...文本替换 我们经常在数据处理中用到替换功能,将指定的一些数据替换成我们想要替换的内容。同样,在处理文本数据替换的时候,str.repalce()也可以很好的满足这一操作。...文本提取 我们在日常中经常遇到需要提取某序列文本中特定的字符串,这个时候采用str.extract()方法就可以很好的进行处理,它是用正则表达式将文本中满足要求的数据提取出来形成单独的列。...比如下面这个案例,我们用正则表达式将文本分为两部分,第一部分是字母a和b,第二部分匹配数字: 在上述案例中,expand参数为Fasle时如果返回结果是一列则为Series,否则是Dataframe。

    1.4K30

    Python中查询缺失值的4种方法

    在我们日常接触到的Python中,狭义的缺失值一般指DataFrame中的NaN。广义的话,可以分为三种。...缺失值:在Pandas中的缺失值有三种:np.nan (Not a Number) 、 None 和 pd.NaT(时间格式的空值,注意大小写不能错) 空值:空值在Pandas中指的是空字符串""; 最后一类是导入的...今天聊聊Python中查询缺失值的4种方法。 缺失值 NaN ① 在Pandas中查询缺失值,最常用的⽅法就是isnull(),返回True表示此处为缺失值。...df[df["A列"].notnull()] 输出: 空值 空值在Pandas中指的是空字符串"",我们同样可以对数据集进行切片找到空值。...在交互式环境中输入如下命令: df[df["B列"] == ""] 输出: 此外,也可以利用空值与正常值的区别来区分两者,比如isnumeric()方法检测字符串是否只由数字组成。

    4.3K10

    50个Pandas的奇淫技巧:向量化字符串,玩转文本处理

    一、向量化操作的概述 对于文本数据的处理(清洗),是现实工作中的数据时不可或缺的功能,在这一节中,我们将介绍Pandas的字符串操作。...那么,有没有办法,不用循环就能同时处理多个字符串呢,Pandas的向量化操作(vectorized string operation)就提供了这样的方法。...向量化的操作使我们不必担心数组的长度和维度,只需要关系操作功能,尤为强大的是,除了支持常用的字符串操作方法,还集成了正则表达式的大部分功能,这使得pandas在处理字符串列时,具有非常大的魔力。...,其中的对象包括:单列、双列、多列 1)基本用法 Series.str.cat(others=None, sep=None, na_rep=None, join='left') 2)参数解释 others...如果na_rep 为None,并且others 不是None,则在任何列(连接之前)中包含缺失值的行将在结果中具有缺失值。

    6K60

    简单使用 :pandas 数据清洗

    strip 方法以及 dropna 方法 df['product_name'].str.strip() # 删除列 `product_name` 为 `NaN` 的行 df.dropna(subset...保存在 mysql 中的数据中有空值,但是使用 pd.str.strip() 处理没有用 使用 replace 替换空格、空值为 nan 也没有用 解决办法:replace 使用正则替换 # 替换\r...\n\t 以及 html 中的\xa0 df.replace(r'\r|\t|\n|\xa0', '', regex=True, inplace=True) # 替换空格,将空格替换为空字符串 df['...product_name'].replace(r' ', '', regex=True, inplace=True) # 将空字符串替换为 nan df['product_name'].replace(...r'', np.nan, regex=True, inplace=True) # 将乱码替换替换为空字符串(正则为匹配不是中文、字母、数字组成的字符串) df['product_name'].replace

    1.6K20

    python数据科学系列:pandas入门详细教程

    ,仅支持一维和二维数据,但数据内部可以是异构数据,仅要求同列数据类型一致即可 numpy的数据结构仅支持数字索引,而pandas数据结构则同时支持数字索引和标签索引 从功能定位上看: numpy虽然也支持字符串等其他数据类型...和DML操作在pandas中都可以实现 类比Excel的数据透视表功能,Excel中最为强大的数据分析工具之一是数据透视表,这在pandas中也可轻松实现 自带正则表达式的字符串向量化操作,对pandas...自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....尤为强大的是,除了常用的字符串操作方法,str属性接口中还集成了正则表达式的大部分功能,这使得pandas在处理字符串列时,兼具高效和强力。例如如下代码可用于统计每个句子中单词的个数 ?...时间类型向量化操作,如字符串一样,在pandas中另一个得到"优待"的数据类型是时间类型,正如字符串列可用str属性调用字符串接口一样,时间类型列可用dt属性调用相应接口,这在处理时间类型时会十分有效。

    15.1K20

    Read_CSV参数详解

    header参数可以是一个list例如:[0,1,3],这个list表示将文件中的这些行作为列标题(意味着每一列有多个标题),介于中间的行将被忽略掉(例如本例中的2;本例中的数据1,2,4行将被作为多级标题出现...usecols : array-like, default None 返回一个数据子集,该列表中的值必须可以对应到文件中的位置(数字可以对应到指定的列)或者是字符传为文件中的列名。...na_values : scalar, str, list-like, or dict, default None 一组用于替换NA/NaN的值。如果传参,需要制定特定列的空值。默认为‘1....在某些情况下会快5~10倍。 keep_date_col : boolean, default False 如果连接多列解析日期,则保持参与连接的列。默认为False。...1.使用一个或者多个arrays(由parse_dates指定)作为参数; 2.连接指定多列字符串作为一个列作为参数; 3.每行调用一次date_parser函数来解析一个或者多个字符串(由parse_dates

    2.7K60

    pandas.read_csv参数详解

    header参数可以是一个list例如:[0,1,3],这个list表示将文件中的这些行作为列标题(意味着每一列有多个标题),介于中间的行将被忽略掉(例如本例中的2;本例中的数据1,2,4行将被作为多级标题出现...usecols : array-like, default None 返回一个数据子集,该列表中的值必须可以对应到文件中的位置(数字可以对应到指定的列)或者是字符传为文件中的列名。...na_values : scalar, str, list-like, or dict, default None 一组用于替换NA/NaN的值。如果传参,需要制定特定列的空值。默认为‘1....在某些情况下会快5~10倍。 keep_date_col : boolean, default False 如果连接多列解析日期,则保持参与连接的列。默认为False。...1.使用一个或者多个arrays(由parse_dates指定)作为参数; 2.连接指定多列字符串作为一个列作为参数; 3.每行调用一次date_parser函数来解析一个或者多个字符串(由parse_dates

    3.1K30
    领券