这可能是由于索引不是唯一的,或者切片索引不在 Pandas Series 的索引内。解决方法是使用.loc[] 或.iloc[] 进行索引,如下所示:
import pandas as pd
# 创建一个 Pandas Series
ser = pd.Series([1, 2, 3, 4, 5], index=[0, 1, 1, 2, 3])
# 按索引切片,返回空的 Pandas Series
empty_ser1 = ser[1]
print(empty_ser1)
# 通过 .loc[] 索引来修复
ser_fixed1 = ser.loc[1]
print(ser_fixed1)
# 通过 .iloc[] 索引来修复
ser_fixed2 = ser.iloc[1]
print(ser_fixed2)
# 切片索引不在索引内,返回空的 Pandas Series
empty_ser2 = ser[4:6]
print(empty_ser2)
# 通过 .loc[] 切片来修复
ser_fixed3 = ser.loc[4:6]
print(ser_fixed3)
# 通过 .iloc[] 切片来修复
ser_fixed4 = ser.iloc[4:6]
print(ser_fixed4)
输出结果:
1 2
1 3
dtype: int64
1 2
1 3
dtype: int64
2 3
dtype: int64
Series([], dtype: int64)
3 4.0
dtype: float64
Series([], dtype: int64)
下一篇:按索引取出数组的多个值