Невозможно получить первый и последний допустимый индекс в pandas фрейме данных - PullRequest
0 голосов
/ 14 июля 2020

Я работаю с данными потокового потока, загруженными в pandas из файлов .csv. Мне нужно извлечь даты первой и последней действительных записей значений потокового потока. Я пытаюсь получить индекс первого и последнего действительных (не NaN) значений потокового потока, а затем использовать функцию pd.at[]. Я использую:

pandas.DataFrame.first_valid_index и pandas.DataFrame.last_valid_index.

Однако указанные выше функции не могут возвращать индекс для некоторых файлов и выдают output = none. Причем индекс диапазона и его тип одинаков для всех файлов. Пожалуйста, проверьте пример ниже:

station2 = pd.read_csv('../flow/IWM-gauge-0002.csv')
station4 = pd.read_csv('../flow/IWM-gauge-0004.csv')
print('Station 2 index type :',type(station2.index))
print('Station 4 index type :',type(station4.index))
print('Station 2 index : ',station2.index)
print('Station 4 index :',station4.index)

Запуск приведенного выше кода дает результат как:

Station 2 index type : <class 'pandas.core.indexes.range.RangeIndex'>
Station 4 index type : <class 'pandas.core.indexes.range.RangeIndex'>
Station 2 index :  RangeIndex(start=0, stop=22333, step=1)
Station 4 index : RangeIndex(start=0, stop=22333, step=1)

Однако, если я попытаюсь получить первый или последний действительный индекс для обоих фреймов данных:

first_validx_2 = station2['Streamflow (cumecs)'].first_valid_index()
first_validx_4 = station4['Streamflow (cumecs)'].first_valid_index()
last_validx_2 = station2['Streamflow (cumecs)'].last_valid_index()
last_validx_4 = station4['Streamflow (cumecs)'].last_valid_index()

print('First valid idx in station 2',first_validx_2)
print('First valid idx in station 4',first_validx_4)
print('Last valid idx in station 2',last_validx_2)
print('Last valid idx in station 4',last_validx_4)

Я получаю следующий результат:

First valid idx in station 2 19780
First valid idx in station 4 None
Last valid idx in station 2 21885
Last valid idx in station 4 None

Пожалуйста, объясните, где я ошибаюсь? Как мне решить эту проблему?

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