Python|熊猫索引.asof()
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas Index.asof()
函数返回索引中的标签,或者,如果不存在,则返回前一个标签。假设索引已排序,如果在索引中则返回传递的索引标签,如果传递的索引标签不在索引中,则返回上一个索引标签。
注意:该函数仅适用于排序索引。如果未排序,则返回错误。
Syntax: Index.asof(label)
Parameters :
label : The label up to which the method returns the latest index label
Returns : The passed label if it is in the index. The previous label if the passed label is not in the sorted index or NaN if there is no such label.
示例 #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”