Замена значения предыдущим значением в столбце, если оно больше, и сохранение предыдущего максимального значения. ⇐ Python
Замена значения предыдущим значением в столбце, если оно больше, и сохранение предыдущего максимального значения.
Это расширение к этому сообщению
Это мой фрейм данных:
df = pd.DataFrame( { 'а': [101, 90, 11, 11, 1], } ) И это тот результат, который мне нужен. Я хочу создать столбец b:
а б 0 101 101,0 1 90 101,0 2 11 90,0 3 11 90,0 4 1 90,0 Необходимые шаги:
a) Сравните каждое значение в a с a.shift(1).
b) между df.a и df.a.shift(1) выберите больший и создайте столбец b. c) Значения в b не должны уменьшаться. Это меньше, чем df.b.shift(1)
Шаги a и b могут быть достигнуты следующим образом:
df["b"] = np.fmax(df["a"], df["a"].shift(1)) Это не дает мне результата. Вот что я пробовал, но не помогло:
df["b"] = np.fmax(df["a"], df["a"].shift(1)) df["b"] = np.fmax(df["b"], df["b"].shift(1)) # -------------------------------------------- df['b'] = df.b.cummax()
Это расширение к этому сообщению
Это мой фрейм данных:
df = pd.DataFrame( { 'а': [101, 90, 11, 11, 1], } ) И это тот результат, который мне нужен. Я хочу создать столбец b:
а б 0 101 101,0 1 90 101,0 2 11 90,0 3 11 90,0 4 1 90,0 Необходимые шаги:
a) Сравните каждое значение в a с a.shift(1).
b) между df.a и df.a.shift(1) выберите больший и создайте столбец b. c) Значения в b не должны уменьшаться. Это меньше, чем df.b.shift(1)
Шаги a и b могут быть достигнуты следующим образом:
df["b"] = np.fmax(df["a"], df["a"].shift(1)) Это не дает мне результата. Вот что я пробовал, но не помогло:
df["b"] = np.fmax(df["a"], df["a"].shift(1)) df["b"] = np.fmax(df["b"], df["b"].shift(1)) # -------------------------------------------- df['b'] = df.b.cummax()
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Pandas Dataframe заполняется предыдущим ненулевым значением в группах [дубликат]
Anonymous » » в форуме Python - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-