簡體   English   中英

當我有一個名為“df”的數據框並將 df['column_name'][-1] 放入 python 時,我會得到什么?

[英]What do i get when i have a dataframe called “df” and i put df['column_name'][-1] in python?

我有一個名為“df”的數據框,其中有兩列包含大小公司的股票價格,從 1926-07 到 2018-12,每月。 當我輸入 df['Low Cap'][0] 時,我得到小公司 1970-01 年的股票價格。當我輸入 df['Low Cap'][-1] 時,我得到 1969 年的股票價格- 12家小公司。 我的問題是 ¿ 為什么我會得到那一年的價格? 它甚至不在中間。 當我將括號 [-1] 或 [0] 放在 df[Low cap] 上時,python 在做什么?

圖片

非常感謝你

如果將列(系列)視為列表,則可以使用所需的列表索引。 請參閱此玩具示例:

df = pd.DataFrame({'Low Cap':['A', 'B', 'C', 'D']})

w = df['Low Cap'][0]   # A
# x = df['Low Cap'][-1]  # key error: -1
y = df['Low Cap'].tolist()[0]    # A
z = df['Low Cap'].tolist()[-1]   # D

您的 df 索引中可能有 -1。 請參閱此類似的玩具示例,了解為什么引用帶有索引的系列與轉換為列表然后使用列表索引會產生不同的行為。

df['new index'] = [-1, 2, 5, 12]
df = df.set_index('new index')

df['new index'] = pd.to_datetime(df['new index'])

w = df['Low Cap'][12]   # D
x = df['Low Cap'][-1]   # A
y = df['Low Cap'].tolist()[0]    # A
z = df['Low Cap'].tolist()[-1]   # D

df 索引 -1 是 datetime 1969-12-31 23:59:59.999999999,看 df:

                              Low Cap
new index                            
1969-12-31 23:59:59.999999999       A
1970-01-01 00:00:00.000000002       B
1970-01-01 00:00:00.000000005       C
1970-01-01 00:00:00.000000012       D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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