pandas set index的用途(pandas设置索引)34
pandas set index的用途
set_index可以指定数据中的某一列,将其作为该数据的新索引
本文是Python Pandas教程系列的一部分,您可以点击Python Pandas使用教程查看所有。
语法:
Dataframe.set_index(keys, append, inplace, drop, verify_integrity)
参数: | keys:label 或 array-like 或 labels/arrays 的list
此参数可以是单个列键, 长度与调用 也可以是包含列键和数组的任意组合的列表。 在这里,
drop: 删除要用作新索引的列。 append: 是否将列追加到现有索引。 inplace: 适当地修改DataFrame(不创建新对象)。 verify_integrity: 检查新索引是否重复。否则,将检查推迟到必要时进行。设置为 |
返回值: | DataFrame
更改了行标签。 |
pandas设置索引
现在我们看看如何使用 set_index() 函数以及使用不同的参数在 Pandas Dataframe 中设置索引。
示例#1
代码:
import pandas as pd
data = pd.DataFrame({
"name":["Span","Such","Vetts","Deep","Apoo","Sou","Ath","Pri","Pan","Pran","Anki"] ,"age":[25,26,27,28,29,30,31,32,33,34,35] ,"sal":[30000,40000,50000,60000,70000,80000,90000,95000,96000,97000,98000] ,"expense":[20000,30000,40000,50000,60000,70000,80000,85000,86000,87000,88000]})
data.set_index('name')
print(data.set_index('name'))
输出:
说明:在这里,我们首先创建一个包含姓名、年龄、薪水和费用的 Dataframe,并添加必要的值并使用 pd 调用 pandas。创建Dataframe后,我们将使用函数 set_index() 设置索引。在方括号内,我们指定要设置索引的列名,在本例中为“name”。所以,我们添加代码,data.set_index(‘name’),最后打印输出。在输出中,如您所见,列 ‘name’ 也被打印为变量,并且与所有其他列完全分开。这是因为它就像另一个索引值一样,所有名称都充当行的索引值。
示例 #2 – 使用 Inplace 参数的 Set_Index() 函数
代码:
import pandas as pd
data = pd.DataFrame({
"name":["Span","Such","Vetts","Deep","Apoo","Sou","Ath","Pri","Pan","Pran","Anki"] ,"age":[25,26,27,28,29,30,31,32,33,34,35] ,"sal":[30000,40000,50000,60000,70000,80000,90000,95000,96000,97000,98000] ,"expense":[20000,30000,40000,50000,60000,70000,80000,85000,86000,87000,88000]})
data_copy=data.copy()
data_copy.set_index('name', inplace = True)
print(data_copy)
输出:
解释: 在这个程序中,我们将使用 inplace 参数设置索引“set_index”。为此,我们将在我们的语法结构中设置 inplace = True。然而,在我们这样做之前,我们如何复制信息。我们将进行复制的解释是,当我们使用 inplace = True 时,set_index 技术将覆盖信息。我不希望直接覆盖信息,因此我们将首先进行复制。要复制上述索引,我们使用函数 copy()。因此,data_copy() 将包含与原始数据相同的信息。复制信息后,我们使用 set_index() 函数和 inplace=True 参数。通过将 inplace 参数设置为 inplace = True,代码可以直接更改 DataFrame。
示例 #3 – 使用 Drop 参数
代码:
import pandas as pd
data = pd.DataFrame({
"name":["Span","Such","Vetts","Deep","Apoo","Sou","Ath","Pri","Pan","Pran","Anki"] ,"age":[25,26,27,28,29,30,31,32,33,34,35] ,"sal":[30000,40000,50000,60000,70000,80000,90000,95000,96000,97000,98000] ,"expense":[20000,30000,40000,50000,60000,70000,80000,85000,86000,87000,88000]})
data.set_index('name', drop = False)
print(data.set_index('name', drop = False))
输出:
示例 #4 – 在索引中使用多个变量
代码:
import pandas as pd
data = pd.DataFrame({
"name":["Span","Such","Vetts","Deep","Apoo","Sou","Ath","Pri","Pan","Pran","Anki"] ,"age":[25,26,27,28,29,30,31,32,33,34,35] ,"sal":[30000,40000,50000,60000,70000,80000,90000,95000,96000,97000,98000] ,"expense":[20000,30000,40000,50000,60000,70000,80000,85000,86000,87000,88000]})
data.set_index(['name','age'])
print(data.set_index(['name','age']))
输出:
结论
最后,我们总结说 set_index() 函数通过使用不同的参数将给定的列作为索引来创建一个新的 Dataframe。为了将索引列保留为 Dataframe 中的另一个单独列,我们使用参数 drop=False 并且为了将所有索引转换回其原始列,我们使用 Pandas 中的 reset_index() 函数。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!