[英]Python Pandas - series indexing notation
這可能是一個簡單的問題,但在Pandas初學者教程中並未得到解釋。
創建系列時:
import pandas as pd
x = pd.Series(range(1,11))
您得到的輸出顯示索引從0到9。x x[0] = 1
, x[9] = 10
x.index
> Int64Index([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype='int64')
那么為什么當您輸入x[0:9]
,它沒有保留最后一個值10。有人可以解釋索引符號的不一致嗎?
我知道其他索引方法,例如x.iloc等,但是還沒有可靠的解釋將它們綁在一起。
>>> x[0:9]
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
dtype: int64
Python索引包含第一個數字,不包含最后一個數字。 這里沒有不一致之處,只是python索引的工作方式。
x [0:9]表示0-8(含),即x [0:9] = x [0,1,2,3,4,5,6,7,8],因此它輸出值1-9(含),即1,2,3,4,5,6,7,8,9。
我猜唯一奇怪的部分是使用單個值。 x [9]輸出10,但是您應該認為這包括第一個索引值。
嘗試用字母(而不是數字)填充系列,這似乎會減少混亂,並且對其余的python索引有意義:
簡而言之,在系列中選擇一個值與選擇多個值(也稱為切片)的工作方式不同。 切片會自動忽略最后一個索引,而選擇一個值根本無法做到這一點(唯一的索引是第一個和最后一個索引,如果忽略它,則沒有索引可使用)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.