繁体   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