使用.loc切片时Series为空

问题描述 投票:0回答:1

在此输入图片描述

我想要购买 Q1 到 Q9 之间的商品。 Q1到Q9存在并且它们是连续的。如图所示,我使用.loc对系列对象进行切片: s.loc['Q1':'Q2']

但是它返回一个空系列。通常情况下,我应该得到 ['Q1','Q2','Q3','Q4','Q5','Q6','Q7','Q8','Q9'] 的返回。

python pandas series
1个回答
0
投票

IIUC,

你有,

s = pd.Series([f'Q{i}' for i in range(1,16)])

输出:

0      Q1
1      Q2
2      Q3
3      Q4
4      Q5
5      Q6
6      Q7
7      Q8
8      Q9
9     Q10
10    Q11
11    Q12
12    Q13
13    Q14
14    Q15
dtype: object

注意索引是从 0 到 14 的默认范围索引。如果您想使用

.loc
,那么您需要更改索引以匹配您的数据。

s.index = s

输出:

Q1      Q1
Q2      Q2
Q3      Q3
Q4      Q4
Q5      Q5
Q6      Q6
Q7      Q7
Q8      Q8
Q9      Q9
Q10    Q10
Q11    Q11
Q12    Q12
Q13    Q13
Q14    Q14
Q15    Q15
dtype: object

现在你可以做类似的事情,

s.loc['Q1':'Q9']

输出:

Q1    Q1
Q2    Q2
Q3    Q3
Q4    Q4
Q5    Q5
Q6    Q6
Q7    Q7
Q8    Q8
Q9    Q9
dtype: object
© www.soinside.com 2019 - 2024. All rights reserved.