s2 = pd.Series([10,20,30,40,50,60], index=['a', 'b', 'c', 'd', 'e', 'f'])
當我使用如下標簽選擇切片時
print(s2['b':'e'])
輸出是
b 23
c 33
d 43
e 54
dtype: int64
但是當我使用索引選擇切片時
print(s2[1:4])
輸出是
b 23
c 33
d 43
dtype: int64
為什么當我們用索引選擇時,它是用 step-1 選擇而用標簽它也在選擇最終標簽?
uj5u.com熱心網友回復:
s2['b':'e']
這類似于 df.loc[]
這里是一個帶有標簽 'a':'f' 的切片物件(請注意,與通常的 Python 切片相反,開始和停止都包括在索引中時!請參閱使用標簽和端點進行切片。)
然而 s2[1:4]
這類似于 df.iloc[]
這里適用python的一般切片規則。請參閱此鏈接https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html
uj5u.com熱心網友回復:
來自檔案:“帶有標簽 'a':'f' 的切片物件(請注意,與通常的 Python 切片相反,開始和停止都包括在索引中時!請參閱包含標簽和端點的切片。 )”
當您的索引不是默認索引時RangeIndex(例如示例中的字串),切片包括開始和停止。對于 RangeIndex(或指定索引時),切片包括startto stop-1。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/397253.html
