2.1 重新索引 2.2 丢弃指定轴上的项 2.3 索引、选取和过滤 2.4 用 loc 和 iloc 进行选取 2.5 整数索引 2.6 算术运算和数据对齐 2.7 在算术方法中填充值 2.8 DataFrame...Pandas 的索引对象负责管理轴标签和其他元数据(比如轴名称等)。...is_unique 当Index没有重复值时,返回True unique 计算Ilndex中唯一值的数组 ---- 2.基本功能 2.1 重新索引 Pandas对象的一个重要方法是reindex,...对于时间序列这样的有序数据,重新索引时可能需要做一些插值处理。...它们可以让你用类似 NumPy 的标记,使用轴标签(loc)或整数索引(iloc),从DataFrame选择行和列的子集。
pandas的数据结构 Series Series是一维标记数组,可以存储任意数据类型,如整型、字符串、浮点型和Python对象等,轴标一般指索引。...method2 基本功能 重新索引 • 创建一个适应新索引的新对象,该Series的reindex将会根据新索引进行重排。...如果某个索引值当前不存在,就引入缺失值 • 对于时间序列这样的有序数据,重新索引时可能需要做一些插值处理。method选项即可达到此目的。 ?...reindex参数 # -*- coding: utf-8 -*- import numpy as np from pandas import DataFrame, Series print('重新指定索引及顺序...numpy as np from pandas import Series, DataFrame print('根据索引排序,对于DataFrame可以指定轴。')
() 基于秩或基于样本分位数将变量离散化为等大小桶 4 pandas.cut() 基于分位数的离散化函数 5 pandas.date_range() 返回一个时间索引 6 df.apply() 沿相应轴应用函数...7 Series.value_counts() 返回不同数据的计数值 8 df.reset_index() 重新设置index,参数drop = True时会丢弃原来的索引,设置新的从0开始的索引,常与...举例:按索引提取单行的数值 df_inner.loc[3] 四、DataFrame选取和重新组合数据的方法 序号 方法 说明 1 df[val] 从DataFrame选取单列或一组列;在特殊情况下比较便利...3 DataFrame.sort_values(by, axis=0, ascending=True) 参数by为axis轴上的某个索引或索引列表。...举例:删除后出现的重复值: df['city'].drop_duplicates() 结语 文章中总结的是都是一些Pandas常用的方法,至于一些基础的概念还需要你学到Pandas的时候去理解,例如Series
np.nan,4432]}, columns =['id','date','city','category','age','price']) 滑动查看更多 二、DataFrame常见方法 举例:重新索引...举例:按索引提取单行的数值 df_inner.loc[3] 四、DataFrame选取和重新组合数据的方法 序号 方法 说明 1 df[val] 从DataFrame选取单列或一组列;在特殊情况下比较便利...=True) 只能根据0轴的值排序。...3 DataFrame.sort_values(by, axis=0, ascending=True) 参数by为axis轴上的某个索引或索引列表。...举例:删除后出现的重复值: df['city'].drop_duplicates() 结语 文章中总结的是都是一些Pandas常用的方法,至于一些基础的概念还需要你学到Pandas的时候去理解,例如Series
重新索引 reindex 函数,就是重新定义索引。...若在 obj_1 基础上重新索引,没有效果,举例过程中发现,无论多少次重新定义索引,结果都与第一次重新索引结果一致。...8.2.10、pandas 层次索引 在一个轴上拥有多个索引级别,低维度形式处理高维度数据。 层次索引/多级索引具体有什么用?...(轴的理解在下面有提到,我的大致理解:以前的认知只停留在一维二维三维,三维压缩成二维太抽象,引入轴的解释,三维重新分配在了两个轴上,传统理解的二维特点是【一维一轴】,现在一轴要分配多维,于是出现了一轴多层的概念..., x轴:每层索引数量为4, 层数不限 y轴:每层索引数量为3,层数不限 若 x、y 轴层数都限制为1,退化为一般的 DataFrame / 表格 / 二维数组。
合并数据集 pandas.merge可根据一个或者多个不同DataFrame中的行连接起来。 pandas.concat可以沿着一条轴将多个对象堆叠到一起。...实例方法combine_first可以将重复数据编接在一起,用一个对象中的值填充另一个对象中的缺失值。 2....索引上的合并 DataFrame有merge和join索引合并。 4. 重塑和轴向旋转 有许多用于重新排列表格型数据的基础运算。这些函数也称作重塑(reshape)或轴向旋转(pivot)运算。...4.1 重塑层次化索引 层次化索引为DataFrame数据的重排任务提供了良好的一致性方式。主要两种功能: stack:将数据的列“旋转”为行。...5.2 替换值 replace可以由一个带替换值组成的列表以及一个替换值 data.replace([-999,-1000],np.nan) 5.3 重命名轴索引 轴标签也可通函数或映射进行转换,从而得到一个新对象轴还可以被就地修改
pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)。...重新索引 pandas对象的一个重要方法是reindex,其作用是创建一个新对象,它的数据符合新的索引。...丢弃指定轴上的项 丢弃某条轴上的一个或多个项很简单,只要有一个索引数组或列表即可。...它们可以让你用类似NumPy的标记,使用轴标签(loc)或整数索引(iloc),从DataFrame选择行和列的子集。...表5-6 排名时用于破坏平级关系的方法 带有重复标签的轴索引 直到目前为止,我所介绍的所有范例都有着唯一的轴标签(索引值)。
连接可以应用于指定对象的任一轴,并且 Pandas 沿着该轴对索引标签执行关系连接逻辑。 然后,Pandas 沿着相反的轴对标签进行对齐并填充缺失值。...由于在此过程中未执行对齐,因此导致索引标签重复。...为此,您可以为轴的每个值执行选择,但这是重复的代码,并且在不更改代码的情况下无法处理将新的轴值插入DataFrame的情况。 更好的表示方式是,列代表唯一的变量值。...-2e/img/00770.jpeg)] 将数据从每日重新采样为每月的收益 要计算每月的回报率,我们可以使用一些 Pandas 魔术,然后对原始的每日回报进行重新采样。...这意味着,从统计学上来说,对于AAPL价格的任何特定变化,将无法根据 AAPL 的价格变化预测给定日期MSFT价格的变化。
Python环境搭建-从安装到Hello World 安装 ---- 如果使用pip安装: pip install pandas 如果使用conda安装: conda install pandas 如果使用的是...使用函数pandas.Series(data, index, dtype, name, copy)创建,介绍其中两个主要参数:1、data,数据源;2、index(可选),索引,默认从数字0开始,也可以自定义索引...为1表示以列为连接轴;join可以选外连接outer(默认)和内连接inner;ignore_inde默认Fasle,为True则忽略原索引;keys设置外层索引等;names设置索引名; import...为1表示以列为连接轴;level指定多层索引的组;dropna默认True删除含NA的行和列,为False则不删NA的行列。...使用drop_duplicates() 函数可以直接删除重复值。
创建一个 MultiIndex(层次化索引)对象 MultiIndex对象是标准Index对象的分层类比,通常在 pandas 对象中存储轴标签。...在接下来的子章节中,我们将重点介绍一些其他索引类型。 CategoricalIndex CategoricalIndex是一种支持具有重复索引的索引类型。...这是围绕Categorical的容器,允许高效地索引和存储具有大量重复元素的索引。...这允许任意索引这些,即使值不在类别中,类似于如何重新索引任何pandas 索引。...创建一个 MultiIndex(层次化索引)对象 MultiIndex对象是标准Index对象的分层类比,通常在 pandas 对象中存储轴标签。
标签的切片对象 data.loc[:,['name','salary']][:5] iloc iloc是基于位置的索引,利用元素在各个轴上的索引序号进行选择,序号超出范围会产生IndexError,...删除后面出现的重复值 df['A'] = df['A'].drop_duplicates() # 某一列后出现重复数据被清除 删除先出现的重复值 df['A'] = df['A'].drop_duplicates...要沿其连接的轴。 join: {'inner', 'outer'}, 默认为 'outer'。如何处理其他轴上的索引。外部用于联合,内部用于交集。...如果为 True,则不要使用串联轴上的索引值。结果轴将被标记为 0, …, n - 1。如果您在连接轴没有有意义的索引信息的情况下连接对象,这将非常有用。请注意,其他轴上的索引值在连接中仍然有效。...生成的分层索引中级别的名称。 verify_integrity: 布尔值,默认为 False。检查新的串联轴是否包含重复项。相对于实际的数据串联,这可能非常昂贵。 copy: 布尔值,默认为真。
本章重点介绍帮助组合、连接和重新排列数据的工具。 首先,我介绍了 pandas 中层次索引的概念,这在某些操作中被广泛使用。然后我深入研究了特定的数据操作。...8.1 层次索引 层次索引是 pandas 的一个重要特性,它使您能够在轴上具有多个(两个或更多)索引级别。另一种思考方式是,它为您提供了一种以较低维度形式处理较高维度数据的方法。...有时您可能需要重新排列轴上级别的顺序或按特定级别的值对数据进行排序。...一个潜在的问题是结果中无法识别连接的片段。假设您希望在连接轴上创建一个分层索引。...检查连接对象中的新轴是否存在重复项,如果存在则引发异常;默认情况下(False)允许重复项 ignore_index 不保留沿着连接axis的索引,而是生成一个新的range(total_length
='inner',有多个重复列名则选取重复列名值都相同的行 # 指定“on”作为连接键,left和right两个DataFrame必须同时存在“on”列,连接键也可N对N(少用) pd.merge(left...可以沿着一条轴将多个表对象堆叠到一起:因为模式how模式是“outer” # 默认 axis=0 上下拼接,列column重复的会自动合并 pd.concat([df1, df2], axis=0)...# axis=1 左右拼接,行raw/index重复的会自动合并 pd.concat([df1, df2], axis=1) # 忽略df1和df2原来的index,重新给新的DataFrame设置从...这是因为df['key2']不是数值数据, #所以被从结果中排除了。默认情况下,所有数值列都会被聚合,虽然有时可能会被过滤为一个子集。...freq 用于指明该 period 的长度,时间戳则说明该 period 在公元时间轴上的位置。
索引支持重复值,并且如果在任何索引中碰巧有重复项,则哈希表将无法再用于其实现,并且对象访问会变得很慢。...我们只需要重新开始每个连胜,而不是从累加的总和开始。...Seaborn 可以轻松轻松地制作漂亮的绘图,并允许创建许多新类型的绘图,而这些新绘图无法直接从 matplotlib 或 Pandas 获得。...无法通过轴设置许多轴级属性,但是在此步骤中,可以设置一些属性。 两种方法都可以接受。...如步骤 10 所示,Pandas 无法轻松地从 Seaborn 中复制此功能。每个组都需要使用query方法进行拆分,并绘制在其自己的轴上。
.iloc主要基于整数位置(从轴的0到length-1),但也可以与布尔数组一起使用。...注意 在应用可调用对象之前,将元组键解构为行(和列)索引,因此无法从可调用对象中返回元组以索引行和列。 从具有多轴选择的对象中获取值使用以下表示法(以.loc为例,但.iloc也适用)。...另请参阅 重新索引 部分。...另请参阅 重新索引 部分。...索引对象 pandas 的 Index 类及其子类可视为实现了一个有序多重集。允许存在重复值。 Index 还提供了进行查找、数据对齐和重新索引所必需的基础设施。
pandas 对非数值数据具有更直观的开箱即用行为。 如果由于某种原因(例如无法将字符串转换为float64)而转换失败,将引发ValueError。...重新索引 pandas 对象上的一个重要方法是reindex,它意味着创建一个新对象,其值重新排列以与新索引对齐。...重新索引特定轴的另一种方法是将新的轴标签作为位置参数传递,然后使用axis关键字指定要重新索引的轴: In [111]: frame.reindex(states, axis="columns") Out...index 使用传递的序列作为新的索引标签。 columns 使用传递的序列作为新的列标签。 axis 要重新索引的轴,无论是"index"(行)还是"columns"。默认为"index"。...如果您已经有一个不包含这些条目的索引数组或列表,那么从轴中删除一个或多个条目就很简单,因为您可以使用reindex方法或基于.loc的索引。
3.索引对象 pandas的索引对象负责管理轴标签和其他元素(比如轴名称等)。构建Series或DataFrame时,所用到的任何数组或其他序列的标签都会被转换成一个Index。...“层次化”索引对象,表示单个轴上的多层索引。...操作Series和DataFrame中的数据的基本手段 5.1 重新索引 reindex 5.2 丢弃指定轴上的项 drop 5.3 索引、选取和过滤(.ix) 5.4 算数运算和数据对齐 DataFrame...排序和排名 要对行或列索引进行排序(按字典顺序),可使用sort_index方法,它将返回一个已排序的新对象;对于DataFrame,则可以根据任意一个轴上的索引进行排序。 8....层次化索引 层次化索引(hierarchical indexing)是pandas的一项重要功能,它使你能在一个轴上拥有多个(两个以上)索引级别。抽象点说,它是你能以低维度形式处理高维度数据。
keep:删除重复项并保留第一次出现的项取值可以为 first、last或 False duplicated()方法用于标记 Pandas对象的数据是否重复,重复则标记为True,不重复则标记为False...(2)duplicated()方法支持从前向后( first)和从后向前(last)两种重复值查找模式,默认是从前向后查找判断重复值的。换句话说,就是将后出现的相同条目判断为重复值。 ...根据轴方向的不同,可以将堆叠分成横向堆叠与纵向堆叠,默认采用的是纵向堆叠方式。 ...3.2 轴向旋转 在 Pandas中pivot()方法提供了这样的功能,它会根据给定的行或列索引重新组织一个 DataFrame对象。 ...数据转换 4.1 重命名轴索引 Pandas中提供了一个rename()方法来重命名个别列索引或行索引的标签或名称。
示例 重建索引与其他对象对齐 填充时重新加注 重建索引时的填充限制 重命名 重新索引会更改DataFrame的行标签和列标签。重新索引意味着符合数据以匹配特定轴上的一组给定的标签。...可以通过索引来实现多个操作: 重新排序现有数据以匹配一组新的标签 在没有标签数据的标签位置插入缺失值(NA)标记 示例 import pandas as pd import numpy as np N...有时可能希望采取一个对象和重新索引,其 轴 被标记为与另一个对象相同 import pandas as pd import numpy as np df1 = pd.DataFrame(np.random.randn...填充时重新加注 reindex()采用可选参数方法,它是一个填充方法 其值如下: pad/ffill - 向前填充值 bfill/backfill - 向后填充值 nearest - 从最近的索引值填充...NaN NaN NaN 5 NaN NaN NaN 重命名 rename()方法允许基于一些映射(字典或者系列)或任意函数来重新标记一个轴
本节介绍 Pandas 基础数据结构,包括各类对象的数据类型、索引、轴标记、对齐等基础操作。...轴标签统称为索引。...的索引值可以重复。...不支持重复索引值的操作会触发异常。其原因主要与性能有关,有很多计算实例,比如 GroupBy 操作就不用索引。...标量值 data 是标量值时,必须提供索引。Series 按索引长度重复该标量值。
领取专属 10元无门槛券
手把手带您无忧上云