Тип Подсказка pandas Индекс строки нарезки DataFrame - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть Dataframe с 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). Мне нужно получить доступ к атрибуту name row:

>>> 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?

1 Ответ

0 голосов
/ 18 апреля 2020

Я не уверен, полностью ли я понял ваш случай, но вы получаете доступ к индексу, вызывая .index, например, df.loc[something].index, поэтому в вашем случае я бы набрал df.loc[df.test==1].index, чтобы получить дату и время.

Также кажется, что ваш DatetimeIndex конвертируется в int64. Возможно, вам придется преобразовать его в метку времени, чтобы передать его методу pd.Timestamp ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...