问题描述
我已经阅读了熊猫文献中的以下句子:
我不确定第二句话在说什么。将切片切入索引是否是已知的?
解决方法
考虑以下代码:
import numpy as np
import pandas as pd
series = pd.Series([0,1,2,3,4,5,6])
array = series.to_numpy()
# Outputs 4,because that is element 2 of [2,4].
print(array[2:5][2])
# Outputs 2,because series[2:5] now has index [2,4],so the
# element with index 2 is still 2.
print(series[2:5][2])
由于切片序列,除非您使用.iloc
,否则将使用该序列的索引,而ndarray没有索引,因此Series和ndarray的行为不会总是相似。
这还意味着,当使用Series作为输入时,旨在具有ndarray输入的代码可能会以意外方式失败,或者产生意外结果,除非该代码确保它可以与ndarray一起使用。