Как создать цикл для замены значения NaN? - PullRequest
0 голосов
/ 21 апреля 2019

enter image description here

Я хочу заменить NaN последним значением для каждого алфавита (A, B, C) отдельно, затем объединить их.Я пробовал этот код для каждого алфавита (ABC), но не уверен, как зациклить весь алфавит:

df_A = df[df['ST'] == A].fillna(method = 'ffill')

df_B = df[df['ST'] == B].fillna(method = 'ffill')

merge(df_A,df_B)

1 Ответ

2 голосов
/ 21 апреля 2019

Вы можете создать копию df, которая будет заполнена значениями из первого столбца, а затем объединить новый фрейм данных и исходный для заполнения отверстий:

copy_df = pd.DataFrame(df['ST'], columns=df.columns).ffill(axis=1)
df.combine_first(copy_df)
#  ST CO NO
#0  A  2  4
#1  A  3  A
#2  A  A  3
#3  B  8  6
#4  B  7  B
#5  B  5  8
#6  B  B  B
#7  C  9  4
#8  C  C  1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...