Pandas数据处理——渐进式学习 ---- 目录 Pandas数据处理——渐进式学习 前言 环境 DataFrame删除NaN空值 dropna函数参数 测试数据 删除所有有空的行 axis属性值...本专栏会更很多,只要我测试出新的用法就会添加,持续更新迭代,可以当做【Pandas字典】来使用,期待您的三连支持与帮助。...需要提供列名数组 inplace:值是True和False,True是在原DataFrame上修改,False则创建新副本 测试数据 import pandas as pd import numpy.../列的值,填充当前行/列的空值。...如果method被指定,对于连续的空值,这段连续区域,最多填充前,limit 个空值(如果存在多段连续区域,每段最多填充前 limit 个空值)。
自定义缺失值的判断和替换 isin(values): 判断Series或DataFrame中是否包含某些值,可以传入一个可迭代对象、Series、DataFrame或字典。...将how参数修改为all,则只有一行(或列)数据中全部都是空值才会删除该行(或列)。 thresh: 表示删除空值的界限,传入一个整数。...如果一行(或列)数据中少于thresh个非空值(non-NA values),则删除。也就是说,一行(或列)数据中至少要有thresh个非空值,否则删除。...有 ffill,pad,bfill,backfill 四种填充方式可以使用,ffill 和 pad 表示用缺失值的前一个值填充,如果axis=0,则用空值上一行的值填充,如果axis=1,则用空值左边的值填充...limit: 表示填充执行的次数。如果是按行填充,则填充一行表示执行一次,按列同理。 在缺失值填充时,填充值是自定义的,对于数值型数据,最常用的两种填充值是用该列的均值和众数。
DataFrame的一列就是Series,Series可以转化为DataFrame,调用方法函数to_frame()即可 Series 是 pandas 中的一种数据结构,可以看作是带有标签的一维数组。...向量化操作:Pandas支持向量化操作,这意味着可以对整个数据集执行单个操作,而不是逐行或逐列地进行迭代。向量化操作通常比纯Python循环更快,因为它们可以利用底层的优化和硬件加速。...如果传入的是一个字典,则 map() 函数将会使用字典中键对应的值来替换 Series 中的元素。如果传入的是一个函数,则 map() 函数将会使用该函数对 Series 中的每个元素进行转换。...则表示将x中的数值分成等宽的n份(即每一组内的最大值与最小值之差约相等);如果是标量序列,序列中的数值表示用来分档的分界值如果是间隔索引,“ bins”的间隔索引必须不重叠举个例子import pandas...,默认为Falsesuffixes:如果左右数据出现重复列,新数据表头会用此后缀进行区分,默认为_x和_y举个例子import pandas as pd# 创建两个 DataFramedf1 = pd.DataFrame
一、Pandas算术运算函数介绍 基本的算术运算是四则运算(加、减、乘、除)和乘方等。...两个DataFrame相加,如果DataFrame的形状和对应的索引都一样,直接将对应位置(按行索引和列索引确定位置)的数据相加,得到一个新的DataFrame。 2....两个DataFrame相加,如果DataFrame的形状和索引不完全一样,只会将两个DataFrame中行索引和列索引对应的数据相加,生成一个形状能兼容两个DataFrame的新DataFrame,在没有运算结果的位置填充空值...使用fill_value参数填充数据后再进行运算,如果两个DataFrame中的数据都是填充值,则此位置的结果为空值,运算原理如下图。 ? 五、两个Series算术运算 1....如果Series的索引与DataFrame的列索引相同,会将Series依次与DataFrame中的每一行数据进行运算,得到一个新的DataFrame。 2.
如果调用combine_first()方法的df1中数据非空,则结果保留df1中的数据,如果df1中的数据为空值且传入combine_first()方法的df2中数据非空,则结果取df2中的数据,如果df1...和df2中的数据都为空值,则结果保留df1中的空值(空值有三种: np.nan、None 和 pd.NaT)。...fmax()是numpy中实现的函数,用于比较两个数组,返回一个新的数组。返回两个数组中相同索引的最大值,如果其中一个数组的值为空则返回非空的值,如果两个数组的值都为空则返回第一个数组的空值。...fill_value: 先用fill_value填充DataFrame中的空值,再按传入的函数进行合并操作。 fill_value会填充DataFrame中所有列的空值,而且是在合并之前先填充。...overwrite: 如果调用combine()方法的DataFrame中存在的列,在传入combine()方法的DataFrame中不存在,则先在传入的DataFrame中添加一列空值。
3、 DataFrame数据结构 DataFrame表示的是矩阵数据表,每一列可以是不同的值类型(数值、字符串、布尔值等)。...另外一个构建的方式是字典嵌套字典构造DataFrame数据;嵌套字典赋给DataFrame,pandas会把字典的键作为列,内部字典的键作为索引。...[列名]进行移除;增加列有两个方法:1,直接frame[列名]=值;2,frame[列名]=Series对象,如果被赋值的列不存在,会生成一个新列。...如果索引序列唯一则返回True is_monotonic 如果索引序列递增则返回True 4 pandas基本功能 这里主要关注Series或DataFrame数据交互的机制和最主要的特性。...fill_value 前向或后向填充时缺失数据的代替值
今天是pandas数据处理专题的第四篇文章,我们一起来聊聊DataFrame的基本运算。...数据对齐 我们可以计算两个DataFrame的加和,pandas会自动将这两个DataFrame进行数据对齐,如果对不上的数据会被置为Nan(not a number)。...fill_value 如果我们要对两个DataFrame进行运算,那么我们当然不会希望出现空值。...fillna pandas除了可以drop含有空值的数据之外,当然也可以用来填充空值,事实上这也是最常用的方法。 我们可以很简单地传入一个具体的值用来填充: ?...如果我们不希望它返回一个新的DataFrame,而是直接在原数据进行修改的话,我们可以使用inplace参数,表明这是一个inplace的操作,那么pandas将会在原DataFrame上进行修改。
keep:删除重复项并保留第一次出现的项取值可以为 first、last或 False duplicated()方法用于标记 Pandas对象的数据是否重复,重复则标记为True,不重复则标记为False...创建 Pandas数据对象时,如果没有明确地指出数据的类型,则可以根据传入的数据推断出来并且通过 dtypes属性进行查看。 ...注意:使用combine_first()方法合并两个DataFrame对象时,必须确保它们的行索引和列索引有重叠的部分 3....columns:用于创建新 DataFrame对象的列索引 values:用于填充新 DataFrame对象中的值。 4....4.1.1 rename()方法 index,columns:表示对行索引名或列索引名的转换。 inplace:默认为False,表示是否返回新的Pandas对象。
(data) print(frame.head(2)) 如果指定了列序列,则DataFrame的列就会按照指定顺序进行排列: import pandas as pd data = {'state'...另一种常见的数据形式是嵌套字典,如果嵌套字典传给DataFrame, Pandas 就会被解释为:外层字典的键作为列,内层键则作为行索引: import pandas as pd pop1 = {'...(pop1) print(frame3.values) 如果DataFrame各列的数据类型不同,由于 NumPy 数组存储的数据类型需要一致,则值数组的dtype就会选用能兼容所有列的数据类型:...向前后向后填充时,填充不准确匹配项的最大间距(绝对值距离) level 在Multilndex的指定级别上匹配简单索引,否则选取其子集 copy 默认为True,无论如何都复制;如果为False,则新旧相等就不复制...如果某个索引对应多个值,则返回一个Series;而对应单个值的,则返回一个标量值: print(obj['a']) print(obj['c']) 这样会使代码变复杂,因为索引的输出类型会根据标签是否有重复发生变化
如果指定了列序列、索引,则DataFrame的列会按指定顺序及索引进行排列。 也可以设置DataFrame的index和columns的name属性,则这些信息也会被显示出来。...也可以给某一列赋值一个列表或数组,其长度必须跟DataFrame长度相匹配。如果赋值的是一个Series,则对应的索引位置将被赋值,其他位置的值被赋予空值。...Pandas基本功能 1、重新索引 Pandas对象的一个方法就是重新索引(reindex),其作用是创建一个新的索引,pandas对象将按这个新索引进行排序。对于不存在的索引值,引入缺失值。...对于缺失值除使用fill_value的方式填充特定值以外还可以使用method=ffill(向前填充、即后面的缺失值用前面非缺失值填充)、bfill(向后填充,即前面的缺失值用后面的非缺失值填充)。...3、算数运算和数据对齐 (1)Series 与Series之间的运算 将不同索引的对象进行算数运算,在将对象进行相加时,如果存在时,则结果的索引就是该索引的并集,而结果的对象为空。
如果为True,则原地修改DataFrame,即不会返回新的DataFrame;如果为False(默认值),则返回一个新的DataFrame。 errors:指定如何处理未找到要删除的标签。...如果设置为True,则创建并返回一个新的Series或DataFrame,数据类型被转换为指定的数据类型。...如果设置为True,则在转换数据类型时,自动填充缺失值。例如,将字符串类型转换为数值类型时,如果字符串中包含非数值字符,则自动将其填充为NaN。...DataFrame是一个二维数据结构,每个列可以有不同的数据类型。Series是一个一维数据结构,它的数据类型都相同。 reindex()函数的作用是返回一个指定轴的新对象,该对象的索引通过参数指定。...如果为True,则原地修改DataFrame,即不会返回新的DataFrame;如果为False(默认值),则返回一个新的DataFrame。 errors:指定如何处理未找到要删除的标签。
None index_col 接收int、sequence或者False,表示索引列的位置,取值为sequence则代表多重索引,默认为None dtype 接收dict,代表写入的数据类型(列名为key...df.dropna(axis='rows', thresh=3) 3、填充缺失值 缺失值所在的特征为数值型时,通常利用其均值、中位数和众数等描述其集中趋势的统计量来填充;缺失值所在特征为类别型数据时,则选择众数来填充...Pandas 库中提供了缺失值替换的方法fillna,格式如下: DataFrame.fillna(value=None, method=None, axis=None, inplace=False,...在 DataFrame 中利用duplicates方法判断各行是否有重复数据。...默认为 False,表示返回一个新的 DataFrame;如果设为 True,则在原 DataFrame 上进行操作,并返回 None。 ignore_index:可选参数,指定是否重新设置索引。
pandas是什么 在对pandas有了基本了解后,就可以通过用户指南进行pandas的练习了。...1.4.1 Dataframe简介 DataFrame是一个结构类似于二维数组或表格的对象,与Series类对象相比,DataFrame类对象也由索引和数据组成,但该对象有两组索引,分别是行索引和列索引...,如出现新的列,值为NaN # index在这里和之前不同,并不能改变原有index,如果指向新的标签,值为NaN (非常重要!)...pandas中使用reindex()方法实现重新索引功能,该方法会参照原有的Series类对象或DataFrame类对象的索引设置数据:若该索引存在于新对象中,则其对应的数据设为原数据,否则填充为缺失值...colums:表示新的列索引。
Pandas 是一个用于数据操作和分析的开源 Python 库。它提供了高性能、易于使用的数据结构和数据分析工具。...Pandas 的核心数据结构是 Series 和 DataFrame,分别用于处理一维和二维数据。...+1 df['Age'] = df['Age'] + 1 print(df, end="\n\n") # 缺失值处理 填充缺失值 使用每列的均值填充缺失值 df['Age'].fillna(df['...) # 使用每列的均值填充缺失值 df_filled_mean = df.fillna(df.mean()) print(df_filled_mean) # 使用每列的中位数填充缺失值 df_filled_median...,而 unstack则相反。
数据清洗 4.1 查看异常值 当然,现在这个数据集很小,可以直观地发现异常值,但是在数据集很大的时候,我用下面这种方式查看数据集中是否存在异常值,如果有其他更好的方法,欢迎传授给我。.../pandas.DataFrame.sort_values.html 4.2.2 空值处理 pandas.DataFrame.fillna(value = None,method = None,inplace...= False) value:用于填充的值,可以是具体值、字典和数组,不能是列表; method:填充方法,有 ffill 和 bfill 等; inplace默认无False,如果为True,则将修改此对象上的所有其他视图...data['department'].fillna(method="bfill") # 填充下一个值,即填充“日用品” data['department'].fillna(value="冷冻食品...(data[i]): # 如果是object类型的数据,则执行下方代码 data[i]=data[i].str.strip() # 去除空格 data
假设我们有一个包含学生信息的CSV文件,我们可以使用以下代码将其加载到DataFrame中: df = pd.read_csv('student_data.csv') 在加载数据后,我们可以使用pandas...如果说用groupby进行数据分组,可以看做是基于行(或者说是index)操作的话,则agg函数则是基于列的聚合操作。...如果传入一组函数或函数名,得到的DataFrame的列就会以相应的函数命名。...如果不想接收GroupBy自动给出的那些列名,那么如果传入的是一个由(name,function)元组组成的列表,则各元组的第一个元素就会用作DataFrame的列名(可以将这种二元元组列表看做一个有序映射...添加行/列小计和总计,默认为 False; fill_value = 当出现nan值时,用什么填充 dropna =如果为True,不添加条目都为NA的列; margins_name = 当margins
pandas中的一些入门操作 Pandas导入 import pandas as pd import numpy as np 创建DataFram # 手动穿件数据集 df...# subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得列或行不会删除(有axis决定是行还是列) # inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改...value:需要用什么值去填充缺失值 # axis:确定填充维度,从行开始或是从列开始 # method:ffill:用缺失值前面的一个值代替缺失值,如果axis =1,那么就是横向的前面的值替换后面的缺失值...注意这个参数不能与value同时出现 # limit:确定填充的个数,如果limit=2,则只填充两个缺失值。...# 统计某列所有的值 df['住宅类别'].value_counts() 分类数据硬编码&One-Hot编码 # 分类数据硬编码,将某列的值转成对应数值,离散特征的取值有大小的意义 house_mapping
Python3快速入门(十五)——Pandas数据处理 一、函数应用 1、函数应用简介 如果要将自定义函数或其它库函数应用于Pandas对象,有三种使用方式。...) value:填充的值,可以为字典,字典的key为列名称。...left_index,如果为True,则使用左侧DataFrame中的索引(行标签)作为其连接键。...,如果添加的列名不在DataFrame对象中,将会被当作新的列进行添加。...有多种计算相关性的方法,如pearson(默认),spearman和kendall。如果DataFrame中存在任何非数字列,则会自动排除。
该功能完成以下几项操作: 让现有数据匹配一组新标签,并重新排序; 在无数据但有标签的位置插入缺失值(NA)标记; 如果指定,则按逻辑填充无标签的数据,该操作多见于时间序列数据。...Series 迭代时被视为数组,基础迭代生成值。DataFrame 则遵循字典式习语,用对象的 key 实现迭代操作。...该操作比 `iterrows()` 快的多,建议尽量用这种方法迭代 DataFrame 的值。 ::: danger 警告 Pandas 对象迭代的速度较慢。...Series 里的每一行数据,该操作不会保留每行数据的数据类型,因为数据类型是通过 DataFrame 的列界定的。...如果列数较大,比如大于 255 列,则返回正则元组。
定义 Pandas是基于Numpy的一种工具,目的是解决数据分析任务。...通过纳入大量库和一些标准数据模型,提供了高效操作大型数据集所需工具; 安装 pip install pandas 数据类型 Series 定义 一维的数组类型,其中每个元素有各自标签;可当作一个由带标签元素组成的...series的字典; 关键点 异构数据; 大小可变; 数据可变; 功能特点 潜在的类是不同类型; 大小可变; 标记轴(行和列); 可对行和列执行算术运算; Panel 定义 三维,大小可变的数组...的容器,DataFrame是 Series 的容器; 如何使用Pandas #!...# 12、startswith(pattern) 如果系列/索引中的元素以模式开始,则返回true。 # 13、endswith(pattern) 如果系列/索引中的元素以模式结束,则返回true。
领取专属 10元无门槛券
手把手带您无忧上云