簡體   English   中英

Python Pandas-系列索引符號

[英]Python Pandas - series indexing notation

這可能是一個簡單的問題,但在Pandas初學者教程中並未得到解釋。

創建系列時:

import pandas as pd
x = pd.Series(range(1,11))

您得到的輸出顯示索引從0到9。x x[0] = 1x[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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM