📜  Python|熊猫索引.asof()

📅  最后修改于: 2022-05-13 01:55:00.301000             🧑  作者: Mango

Python|熊猫索引.asof()

Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。

Pandas Index.asof()函数返回索引中的标签,或者,如果不存在,则返回前一个标签。假设索引已排序,如果在索引中则返回传递的索引标签,如果传递的索引标签不在索引中,则返回上一个索引标签。

注意:该函数仅适用于排序索引。如果未排序,则返回错误。

示例 #1:使用Index.asof()函数将最新的索引标签返回到传递的索引标签。

# importing pandas as pd
import pandas as pd
  
# Creating the Index
df = pd.Index([17, 69, 33, 15, 19, 74, 10, 5])
  
# Print the Index
df

输出 :

我们先对索引标签进行排序

# sorting the index labels using the argsort() function
df = df[df.argsort()]
  
# Lets print the sorted index labels.
df

输出 :

现在我们将在索引中找到最新的标签,最高可达 72。

# find the latest index label upto 72
df.asof(72)

输出 :

正如我们在输出中看到的,该函数返回了 69,因为它是小于 72 的前一个索引标签。


示例 #2:使用Index.asof()函数查找到给定日期的索引标签。

# importing pandas as pd
import pandas as pd
  
# Creating the Index
idx = pd.Index(['2015-10-31', '2015-12-02', '2016-01-03',
                              '2016-02-08', '2017-05-05'])
  
# Print the Index
df

输出 :

索引已经排序,所以我们不会对其进行排序。

现在我们将应用index.asof()函数来查找索引标签直到输入标签。

# to find the label in the index upto '2016-01-01'
idx.asof('2016-01-01')

输出 :

正如我们在输出中看到的那样,该函数返回了“2015-12-02”日期,这是索引中出现的上一个日期,直到“2016-01-01”