【发布时间】:2020-10-03 16:29:04
【问题描述】:
我有一个 pandas DataFrame portfolio,它的键是日期。我正在尝试通过
print(portfolio.loc[['2007-02-26','2008-02-06'],:]),
但出现错误
KeyError: "None of [Index(['2007-02-26', '2008-02-06'], dtype='object', name='Date')] are in the [index]"
但是,print(portfolio.loc['2007-02-26',:]) 成功返回
holdings 1094.6124
pos_diff 100.0000
cash 98905.3876
total 100000.0000
returns 0.0000
Name: 2007-02-26 00:00:00, dtype: float64
这不是一个有效的格式--> df.loc[['key1', 'key2', 'key3'], 'Column1]?
【问题讨论】:
-
这能回答你的问题吗? How are iloc, ix and loc different?
-
每当我这样做时,我都会使用行标签的元组,而不是列表。也许这就是问题?在 loc 的文档中有一个
df[(row1, row2), column]示例:pandas.pydata.org/pandas-docs/stable/reference/api/…。还有一个使用列表的示例,但在这种情况下,单个列名也在列表中......不确定它是否重要。 -
@Sushanth 根据帖子 df.loc[[
- ] ] 是一个有效的表达式,但它没有解决我的错误
-
您能提供示例输入吗?
-
您应该在问题中提供
df.head(7)或者df.head(7).to_dict()。