Я хочу извлечь значения фрейма данных с условием из другого столбца того же df.

    A    B
0   2    10
1   3    60
2   7    50
3   1    100

Я хочу получить только значения A> 2 из B, но из B, и заполнить те, которые я взял из B, с фиксированным значением = 5

Как это:

    A    B
0   2    5
1   3    60
2   7    50
3   1    5
1
falo8056 5 Мар 2020 в 13:51

2 ответа

Использование:

import numpy as np
df['B'] = np.where(df['A']>2,df['B'],5)
df
   A   B
0  2   5
1  3  60
2  7  50
3  1   5
0
luigigi 5 Мар 2020 в 10:54

Используя pandas.Series.where:

df["B"] = df["B"].where(df["A"].gt(2), 5)
print(df)

Выход:

   A   B
0  2   5
1  3  60
2  7  50
3  1   5
0
Chris 5 Мар 2020 в 10:56