pandas 的 pd.Index() 构造索引对象

您所在的位置:网站首页 苹果手机基本使用方法教程 pandas 的 pd.Index() 构造索引对象

pandas 的 pd.Index() 构造索引对象

2024-07-11 11:59| 来源: 网络整理| 查看: 265

本内容来自:https://gairuo.com

看过来

《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。

本内容来自:https://gairuo.com

pandas.Index 是 pandas 库中的一个对象,表示轴标签的不可变序列。它是 pandas 数据结构的基础组件,用于行和列的标签。

特点

它的特点如下:

不可变: 一旦创建,不能修改(可重复赋值索引修改)。这样保证了数据的一致性和安全性。 唯一性: 每个标签都是唯一的(可配置允许重复),防止重复数据。 支持多种类型: 支持整数、字符串、时间戳等多种类型。 多级索引: 支持多级索引(MultiIndex),方便处理多维数据。 构造

pandas.Index 是用于表示轴标签的一种不可变序列。可以通过多种方式构造和实例化 pd.Index 对象。

语法

语法如下:

class pandas.Index(data=None, dtype=None, copy=False, name=None, tupleize_cols=True )

参数:

data: array-like (1-dimensional) 数据,用于构造索引对象的值。 dtype: NumPy dtype 或 str,可选,数据类型。如果没有指定,则根据输入数据推断。 copy: bool, 默认值为 False,如果为 True,复制输入数据。 name: object,可选,索引的名称,用于标识索引。 tupleize_cols: bool, 默认值为 True,如果为 True,使用 MultiIndex,假如 data 是嵌套元组列表。

示例:

import pandas as pd # 从列表构造 Index index = pd.Index([1, 2, 3, 4]) print(index) # 指定数据类型和名称 typed_index = pd.Index([1, 2, 3, 4], dtype='int64', name='my_index') print(typed_index) # 从另一个 Index 对象复制 new_index = pd.Index(index) print(new_index) # 从 pandas Series 的索引构造 Index series = pd.Series([10, 20, 30], index=['a', 'b', 'c']) index_from_series = pd.Index(series.index) print(index_from_series) 从列表或数组构造

可以使用列表或数组来创建 Index 对象。

import pandas as pd # 从列表构造 index_from_list = pd.Index([1, 2, 3, 4]) print(index_from_list) # 从数组构造 index_from_array = pd.Index(['a', 'b', 'c', 'd']) print(index_from_array) 从另一个 Index 对象构造

可以通过复制现有的 Index 对象来创建一个新的 Index 对象。

# 从现有的 Index 对象构造 new_index = pd.Index(index_from_list) print(new_index) 使用指定的数据类型和名称

可以在创建 Index 对象时指定数据类型和名称。

# 指定数据类型和名称 typed_index = pd.Index([1, 2, 3, 4], dtype='int64', name='my_index') print(typed_index) 从 pandas Series 或 DataFrame 的索引构造

可以从 pandas Series 或 DataFrame 的索引构造 Index 对象。

# 从 Series 的索引构造 series = pd.Series([10, 20, 30], index=['a', 'b', 'c']) index_from_series = pd.Index(series.index) print(index_from_series) # 从 DataFrame 的索引构造 dataframe = pd.DataFrame({'A': [1, 2, 3]}, index=['x', 'y', 'z']) index_from_dataframe = pd.Index(dataframe.index) print(index_from_dataframe) 创建 MultiIndex

MultiIndex 是 Index 的一种扩展,用于表示多级索引。

# 从多个数组构造 MultiIndex arrays = [[1, 1, 2, 2], ['red', 'blue', 'red', 'blue']] multi_index = pd.MultiIndex.from_arrays(arrays, names=('number', 'color')) print(multi_index) # 从 tuples 构造 MultiIndex tuples = [(1, 'red'), (1, 'blue'), (2, 'red'), (2, 'blue')] multi_index_from_tuples = pd.MultiIndex.from_tuples(tuples, names=('number', 'color')) print(multi_index_from_tuples) 使用 RangeIndex

RangeIndex 是一种特殊的 Index,用于表示范围索引,通常用于连续的整数索引。

# 创建 RangeIndex range_index = pd.RangeIndex(start=0, stop=10, step=1) print(range_index)

Index 对象具有许多方法和属性,例如 append()、delete()、intersection()、union()、difference()、name、dtype 等。

常用属性和方法

属性:

dtype: 数据类型 name: 索引名称 nlevels: 多级索引的级数 is_unique: 判断是否唯一 hasnans: 判断是否包含缺失值

方法:

append(): 追加新元素 delete(): 删除指定位置的元素 drop(): 删除指定值的元素 intersection(): 计算两个索引的交集 union(): 计算两个索引的并集 difference(): 计算两个索引的差集 示例代码

单层索引:

import pandas as pd # 创建一个 Index 对象 index = pd.Index(['a', 'b', 'c', 'd']) # 查看索引名称 print(index.name) # 查看数据类型 print(index.dtype) # 计算交集 index2 = pd.Index(['b', 'c', 'e']) intersection = index.intersection(index2) print(intersection) 多级索引

MultiIndex 是 Index 的扩展,支持多级索引,用于多维数据的标签。

# 创建 MultiIndex arrays = [[1, 1, 2, 2], ['red', 'blue', 'red', 'blue']] multi_index = pd.MultiIndex.from_arrays(arrays, names=('number', 'color')) print(multi_index) 参考 https://pandas.pydata.org/docs/reference/api/pandas.Index.html pd.Series() 创建 Series pandas 函数详细介绍 loc[] 查询数据行和列 >

更新时间:2024-07-10 09:38:09 标签:pandas python index 索引



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3