Type Hinting pandas DataFrame切片行的索引

问题描述 投票:0回答:1

我有一个带有DatetimeIndex和其他列的数据框,如下所示:

                     test
datetime                 
2020-01-01 00:10:00     1
2020-01-01 00:20:00     2
2020-01-01 00:30:00     3
2020-01-01 00:40:00     4

所以我要获得一行DataFrame:

>>> row = df.iloc[0]
>>> print(row)
test    1
Name: 2020-01-01 00:10:00, dtype: int64

现在,如果我想访问所选行的索引(即转换为pandas.Series的索引,我应该访问namerow属性:

>>> print(row.name)
2020-01-01 00:10:00
>>> print(type(row.name))
<class 'pandas._libs.tslibs.timestamps.Timestamp'>

[当我将row.name作为pandas.Timestamp参数传递给方法时,PyCharm显示此警告:

Expected type 'Timestamp', got 'Optional[Hashable]' instead

所以这是我更明确的问题:

  1. 还有其他方法来访问切片行的索引而不是row.name吗?
  2. 如何处理PyCharm中的警告?
python pandas dataframe pycharm type-hinting
1个回答
0
投票

我不确定我是否完全理解您的情况,但是您可以通过调用.index来访问索引,例如df.loc[something].index,因此在您的情况下,我将执行df.loc[df.test==1].index以获取日期时间。

而且似乎您的DatetimeIndex已转换为int64。您可能必须将其转换为时间戳,才能将其传递给pd.Timestamp()方法。

© www.soinside.com 2019 - 2024. All rights reserved.