它们可以让你用类似 NumPy 的标记,使用轴标签(loc)或整数索引(iloc),从DataFrame选择行和列的子集。...下表对DataFrame进行了总结: 类型 描述 df[val] 从DataFrame选取单列或一组列;在特殊情况下比较便利:布尔型数组(过滤行)、切片(行切片)、或布尔型DataFrame(根据条件设置值...[where] 通过整数位置,从 DataFrame选取单个行或行子集 df.iloc[:,where] 通过整数位置,从 DataFrame选取单个列或列子集 df.iloc[where_i, where...()) 当排序一个DataFrame时,你可能希望根据一个或多个列中的值进行排序。...,可用于过滤Series中或DataFrame列中数据的子集: print(obj) mask = obj.isin(['b', 'c']) print(mask) print(obj[mask])
01 系列回顾 玩转Pandas系列已经连续推送4篇,尽量贴近Pandas的本质原理,结合工作实践,按照使用Pandas的逻辑步骤,系统地并结合实例推送Pandas的主要常用功能,已经推送的4篇文章:...Pandas主要的两个数据结构: Series(一维)和DataFrame(二维), 系统地介绍了创建,索引,增删改查Series, DataFrame等常用操作接口, 总结了Series如何装载到DataFrame...中,以及一个实际应用多个DataFrame的实战项目例子。...easy系列1; 玩转Pandas,让数据处理更easy系列2) DataFrame可以方便地实现增加和删除行、列 ( 玩转Pandas,让数据处理更easy系列2) 智能地带标签的切片,好玩的索引提取大数据集的子集...pandas使用浮点NaN表示浮点和非浮点数组中的缺失数据,它没有什么具体意义,只是一个便于被检测出来的标记而已,pandas对象上的所有描述统计都排除了缺失数据。
数据的选择,是指在原始数据集中筛选出符合特定条件的数据子集。这通常涉及到对数据的筛选、排序和分组等操作。Python的Pandas库为我们提供了强大的数据选择工具。...通过DataFrame的结构化数据存储方式,我们可以轻松地按照行或列进行数据的选择。...一、数据选择 1.NumPy的数据选择 NumPy数组索引所包含的内容非常丰富,有很多种方式选中数据中的子集或者某个元素。...关键技术:多维数组中对行的选择,使用[ ]运算符只对行号选择即可,具体程序代码如下所示: 花式索引与布尔值索引 ①布尔索引 我们可以通过一个布尔数组来索引目标数组,以此找出与布尔数组中值为True...数据获取 ①列索引取值 使用单个值或序列,可以从DataFrame中索引出一个或多个列。
,选取单列或列子集 4 df.1oc[val1,val2] 通过标签,同时选取行和列 5 df.iloc[where] 通过整数位置,从DataFrame选取单个行或行子集 6 df.iloc[:,where...] 通过整数位置,从DataFrame选取单个列或列子集 7 df.iloc[where_i,where_j] 通过整数位置,同时选取行和列 8 df.at[1abel_i,1abel_j] 通过行和列标签...通过行和列标签选取单一值 举例:使用iloc按位置区域提取数据 df_inner.iloc[:3,:2] #冒号前后的数字不再是索引的标签名称,而是数据所在的位置,从0开始,前三行,前两列。...DataFrame列中数据的子集 22 .unique() 返回一个Series中的唯一值组成的数组。...DataFrame是什么?如果你已经清楚了Pandas的这些基础东西之后,搭配上文章中的这些方法,那你用Pandas去做数据处理和分析必然会游刃有余。
如何读取和写入表格数据? 如何选择 DataFrame 的子集? 如何在 pandas 中创建图表?...如何从现有列派生新列 如何计算摘要统计信息 如何重新设计表格布局 如何合并来自多个表的数据 如何轻松处理时间序列数据 如何操作文本数据 pandas 处理什么类型的数据...到用户指南 有关从 pandas 到输入和输出的完整概述,请参阅有关读取器和写入器函数的用户指南部分。 如何选择 DataFrame 的子集?...如何从DataFrame中选择特定的行和列? 我对 35 岁以上的乘客姓名感兴趣。...如何从DataFrame中选择特定列? 我对泰坦尼克号乘客的年龄感兴趣。
Query Query是pandas的过滤查询函数,使用布尔表达式来查询DataFrame的列,就是说按照列的规则进行过滤操作。...Insert Insert用于在DataFrame的指定位置中插入新的数据列。默认情况下新列是添加到末尾的,但可以更改位置参数,将新列添加到任何位置。...Sample Sample用于从DataFrame中随机选取若干个行或列。...Isin Isin也是一种过滤方法,用于查看某列中是否包含某个字符串,返回值为布尔Series,来表明每一行的情况。...用法: DataFrame.loc[] 或者 DataFrame.iloc[] loc:按标签(column和index)选择行和列 iloc:按索引位置选择行和列 选择df第1~3行、第1~2列的数据
在本节中,我们将讨论缺失数据的一些一般注意事项,讨论 Pandas 如何选择来表示它,并演示一些处理 Python 中的缺失数据的 Pandas 内置工具。...缺失数据惯例中的权衡 许多方案已经开发出来,来指示表格或DataFrame中是否存在缺失数据。通常,它们围绕两种策略中的一种:使用在全局表示缺失值的掩码,或选择表示缺失条目的标记值。...在掩码方法中,掩码可以是完全独立的布尔数组,或者它可以在数据表示中占用一个比特,在本地表示值的空状态。...这些方法都没有权衡:使用单独的掩码数组需要分配额外的布尔数组,这会增加存储和计算的开销。标记值减少了可以表示的有效值的范围,并且可能需要 CPU 和 GPU 算法中的额外(通常是非最优的)逻辑。...也就是说,附加了一个独立的布尔掩码数组的数组,用于将数据标记为“好”或“坏”。Pandas 可能源于此,但是存储,计算和代码维护的开销,使得这个选择变得没有吸引力。
:布尔型数组(过滤行)、切片(行切片)、或布尔型DataFrame(根据条件设置值) 2 df.loc[val] 通过标签,选取DataFrame的单个行或一组行 3 df.loc[:,val] 通过标签...,选取单列或列子集 4 df.1oc[val1,val2] 通过标签,同时选取行和列 5 df.iloc[where] 通过整数位置,从DataFrame选取单个行或行子集 6 df.iloc[where_i...9 reindex 通过标签选取行或列 10 get_value 通过行和列标签选取单一值 11 set_value 通过行和列标签选取单一值 举例:使用iloc按位置区域提取数据 df_inner.iloc...DataFrame列中数据的子集 22 .unique() 返回一个Series中的唯一值组成的数组。...DataFrame是什么?如果你已经清楚了Pandas的这些基础东西之后,搭配上文章中的这些方法,那你用Pandas去做数据处理和分析必然会游刃有余。
由于 DataFrame 是二维的,您可以使用类似 NumPy 的符号使用轴标签(loc)或整数(iloc)选择行和列的子集。...表 5.4:DataFrame 的索引选项 类型 注释 df[column] 从 DataFrame 中选择单个列或列序列;特殊情况便利:布尔数组(过滤行)、切片(切片行)或布尔 DataFrame(根据某些条件设置值...) df.loc[rows] 通过标签从 DataFrame 中选择单行或行子集 df.loc[:, cols] 通过标签选择单个列或列子集 df.loc[rows, cols] 通过标签选择行和列 df.iloc...[rows] 通过整数位置从 DataFrame 中选择单行或行子集 df.iloc[:, cols] 通过整数位置选择单个列或列子集 df.iloc[rows, cols] 通过整数位置选择行和列 df.at...链式索引的陷阱 在前一节中,我们看了如何使用loc和iloc在 DataFrame 上进行灵活的选择。这些索引属性也可以用于就地修改 DataFrame 对象,但这样做需要一些小心。
换句话说,DataFrame看起来很像SAS数据集(或关系表)。下表比较在SAS中发现的pandas组件。 ? 第6章,理解索引中详细地介绍DataFrame和Series索引。...注意DataFrame的默认索引(从0增加到9)。这类似于SAS中的自动变量n。随后,我们使用DataFram中的其它列作为索引说明这。...也要注意Python如何为数组选择浮点数(或向上转型)。 ? 并不是所有使用NaN的算数运算的结果是NaN。 ? 对比上面单元格中的Python程序,使用SAS计算数组元素的平均值如下。...它们是: 方法 动作 isnull() 生成布尔掩码以指示缺失值 notnull() 与isnull()相反 drona() 返回数据的过滤版本 fillna() 返回填充或估算的缺失值的数据副本 下面我们将详细地研究每个方法...从技术架构师开始,最近担任顾问,他建议企业领导如何培养和成本有效地管理他们的分析资源组合。最近,这些讨论和努力集中于现代化战略,鉴于行业创新的增长。
pandas使用最多的数据结构对象是 DataFrame,它是一个面向列(column-oriented)的二维表结构,另一个是 Series,一个一维的标签化数组对象。...pandas 兼具 NumPy 高性能的数组计算功能以及电子表格和关系型数据库(如SQL)灵活的数据处理功能。它提供了复杂精细的索引功能,能更加便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。...数据结构 DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。...DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共用同一个索引)。DataFrame 中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。...虽然 DataFrame 是以二维结构保存数据的,但你仍然可以轻松地将其表示为更高维度的数据(层次化索引的表格型结构,这是 pandas中许多高级数据处理功能的关键要素 ) 创建 DataFrame 的办法有很多
作为额外维度的MultiIndex 你可能会注意到其他内容:我们可以使用带有索引和列标签的简单DataFrame,来轻松存储相同的数据。事实上,Pandas 的构建具有这种等价关系。...具体而言,我们可能希望,每年为每个州添加另一列人口统计数据(例如,18 岁以下的人口); 使用MultiIndex就像在DataFrame中添加另一列一样简单: pop_df = pd.DataFrame...MultiIndex的创建方法 为Series或DataFrame构造多重索引的最简单方法,是简单地将两个或多个索引数组的列表传递给构造器。...列的MultiIndex 在DataFrame中,行和列是完全对称的,就像行可以有多个索引层次一样,列也可以有多个层次。...(在“数据索引和选择”中讨论)也可以使用;例如,基于布尔掩码的选择: pop[pop > 22000000] ''' state year California 2000 33871648
2. pandas的数据结构DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值的)。...dataframe中的数据是以一个或者多个二位块存放的(而不是列表、字典或者别的一维数据结构)。 3.索引对象 pandas的索引对象负责管理轴标签和其他元素(比如轴名称等)。...排序和排名 要对行或列索引进行排序(按字典顺序),可使用sort_index方法,它将返回一个已排序的新对象;对于DataFrame,则可以根据任意一个轴上的索引进行排序。 8....汇总和计算描述统计 8.1 相关系数corr与协方差cov 8.2 成员资格isin,用于判断矢量化集合的成员资格,可用于选取Series或DataFrame列数据的子集。 9....处理缺失数据(Missing data) 9.1 pandas使用浮点值NaN(Not a Number)表示浮点和非浮点数组中的缺失数据。
创建数据帧期间的行对齐 选择数据帧的特定列和行 将切片应用于数据帧 通过位置和标签选择数据帧的行和列 标量值查找 应用于数据帧的布尔选择 配置 Pandas 我们使用以下导入和配置语句开始本章中的示例...由于存在多个维度,因此应用这些维度的过程略有不同。 我们将通过首先学习选择列,然后选择行,在单个语句中选择行和列的组合以及使用布尔选择来检查这些内容。...使用这些属性被认为是最佳实践。 使用布尔选择来选择行 可以使用布尔选择来选择行。 当应用于数据帧时,布尔选择可以利用多列中的数据。...-2e/img/00221.jpeg)] 使用布尔选择删除行 布尔选择也可以用于从DataFrame中删除行。...此外,我们看到了如何替换特定行和列中的数据。 在下一章中,我们将更详细地研究索引的使用,以便能够有效地从 pandas 对象内检索数据。
Pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。...>>> b[0:2,1] # 选择第1列中第0行和第1行中的项目 array([ 2., 5.]) >>> b[:1] # 选择第0行中的所有项目,等价于b[0:1,:] array([[1.5, 2...# 布尔索引 >>> s[~(s > 1)] # 选择Series s的值不大于1的子集 >>> s[(s 2)] # 选择Seriess的值是2...Excel >>> pd.read_excel('file.xlsx') >>> pd.to_excel('dir/myDataFrame.xlsx', sheet_name='Sheet1') # 从同一个文件中读取多个工作表...Join join方法提供了一个简便的方法用于将两个DataFrame中的不同的列索引合并成为一个DataFrame。
选择处理缺失值的方法 在数据表或 DataFrame 中有很多识别缺失值的方法。...在掩码方法中, 掩码可能是一个与原数组维度相同的完整布尔类型数组, 也可能是用一个比特(0 或 1) 表示有缺失值的局部状态。...为了完成这种交换过程, Pandas 提供了一些方法来发现、 剔除、 替换数据结构中的缺失值, 主要包括以下几种。 isnull() 创建一个布尔类型的掩码标签缺失值。...False 3 True dtype: bool 布尔类型掩码数组可以直接作为 Series或 DataFrame 的索引使用: data[data.notnull()] 0 1...2 hello dtype: object 在 Series 里使用的 isnull() 和 notnull() 同样适用于DataFrame, 产生的结果同样是布尔类型。
使用pandas.read_csv(),您可以指定usecols来限制读入内存的列。并非所有可以被 pandas 读取的文件格式都提供读取子集列的选项。...使用其他库 还有其他类似于 pandas 并与 pandas DataFrame 很好配合的库,可以通过并行运行时、分布式内存、集群等功能来扩展大型数据集的处理和分析能力。...使用pandas.read_csv(),您可以指定usecols来限制读入内存的列。并非所有可以被 pandas 读取的文件格式都提供了读取子集列的选项。...使用其他库 还有其他库提供类似于 pandas 的 API,并与 pandas DataFrame 很好地配合,可以通过并行运行时、分布式内存、集群等功能来扩展大型数据集的处理和分析能力。...,因为 pandas 不会计算具有 dtype=object 的列中的值所使用的内存。
在Pandas中,删除一列或在NumPy矩阵中求和值时,可能会遇到Axis。...回想一下Pandas中的shape df.shape (# of Rows, # of Columns) 从Pandas DataFrame中调用shape属性返回一个元组,第一个值代表行数,第二个值代表列数...无论如何,这些函数本质上就是以特定方式组合DataFrame的方式。在哪个时间跟踪哪一个最适合使用可能很困难,所以让我们回顾一下。...Concat允许用户在表格下面或旁边追加一个或多个DataFrame(取决于您如何定义轴)。 ? Merge将多个DataFrame合并指定主键(Key)相同的行。 ?...使用Apply,可以将DataFrame列(是一个Series)的值进行格式设置和操作,不用循环,非常有用!
---- 在Pandas中,删除一列或在NumPy矩阵中求和值时,可能会遇到Axis。...回想一下Pandas中的shape 1df.shape 2(# of Rows, # of Columns) 从Pandas DataFrame中调用shape属性返回一个元组,第一个值代表行数,第二个值代表列数...如果你想在Python中对其进行索引,则行数下标为0,列数下标为1,这很像我们如何声明轴值。...无论如何,这些函数本质上就是以特定方式组合DataFrame的方式。 在哪个时间跟踪哪一个最适合使用可能很困难,所以让我们回顾一下。...Concat允许用户在表格下面或旁边追加一个或多个DataFrame(取决于您如何定义轴)。 ? Merge将多个DataFrame合并指定主键(Key)相同的行。 ?
领取专属 10元无门槛券
手把手带您无忧上云