Pandas - интерполяция между столбцами - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть вопрос и надеюсь, вы можете мне помочь. Предположим, что Pandas Dataframe выглядит примерно так:

enter image description here

Я хотел бы сделать линейную интерполяцию, чтобы заполнить недостающие значения nan. В то время как я искал, я нашел только примеры, когда значения в одном и том же столбце должны были быть интерполированы, а столбцы не пересекались. Есть ли способ выполнить интерполяцию между левым и правым значениями nan?

С уважением

PS: отсканированный код:

import pandas as pd

data = {'A':[2,4,6,8,4],
        'B':[0,0,0,0,0],
        'C':[4,10,4,5,1]}

df = pd.DataFrame(data,columns=['A','B','C'])

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

interpolate может использоваться на горизонтальной оси, но учитываются только значения NaN

df['B'] = np.NaN
df = df.fillna(df.interpolate, axis=1)

. Это дает:

   A    B   C
0  2  3.0   4
1  4  7.0  10
2  6  5.0   4
3  8  6.5   5
4  4  2.5   1
1 голос
/ 16 апреля 2020
df.interpolate(axis=1)

будет интерполироваться вдоль столбцов.

...