Предположим, у меня есть фрейм данных, ABC, который выглядит следующим образом:
a b c d e
2016-06-01 3 6 NAN 4 8
2016-06-01 3 NAN 5 NAN NAN
2016-06-01 NAN NAN NAN 4 8
2017-03-01 1 7 8 NAN NAN
2017-03-01 NAN NAN 8 9 3
2017-06-01 NAN 3 NAN NAN 6
2017-06-01 8 3 4 7 NAN
индекс - это дата и время, и я хочу, чтобы он выглядел следующим образом:
a b c d e
2016-06-01 3 6 5 4 8
2017-03-01 1 7 8 9 3
2017-06-01 8 3 4 7 6
Я пытался кодироватьвот так:
for i in ABC.index.strftime('%Y-%m-%d'):
for j in ABC:
if ABC[i][j].isna().any() and ABC[i][j].notna().any()
ABC[i][j].fillna(ABC[i][j][ABC[i][j].notna()][0],inplace = True)
print(ABC)
Я думал, что смогу создать такой фрейм данных:
a b c d e
2016-06-01 3 6 5 4 8
2016-06-01 3 6 5 4 8
2016-06-01 3 6 5 4 8
2017-03-01 1 7 8 9 3
2017-03-01 1 7 8 9 3
2017-06-01 8 3 4 7 6
2017-06-01 8 3 4 7 6
, и тогда я смогу просто использовать drop_duplicates для достижения своей цели, но мне это не удалось. (inplace = True), кажется, не работает, и то, что я распечатал, точно так же, как исходный кадр данных. Я не знаю, что не так, и понятия не имею, как это исправить. Может кто-нибудь сказать мне, как это исправить или лучший способ достичь моей цели? большое спасибо.