#python #pandas #dataframe
#python #pandas #фрейм данных
Вопрос:
У меня есть фрейм данных, который содержит несколько ячеек с нулем, я хочу обработать их таким образом, чтобы получить среднее значение столбца и последнюю строку над нулем и первую после.
Я знаю, как получить среднее значение, отбросив нули. мой вопрос в том, как я могу получить строки, о которых я упоминал?
пример фрейма данных
2020-09-15 211.03
2020-09-16 213.60
2020-09-17 205.69
2020-09-18 208.65
2020-09-19 214.35 # get the value for this row
2020-09-20 0.00
2020-09-21 0.00
2020-09-22 222.54 # and for this row
Комментарии:
1. df[column_name].value_counts() не даст вам ни одного экземпляра нуля, затем просто вычтите это в средней формуле
Ответ №1:
Попробуйте это:
col = df['column_name']
cond = col.ne(0) amp; (
col.shift().eq(0) # row above is 0
| col.shift(-1).eq(0) # row below is 0
)
df.loc[cond]