Итак, я создал DataFrame для моего вопроса:
import pandas as pd
import random
median = random.uniform(0, 1)
data = [[random.uniform(0, 1), random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1)]]
df= pd.DataFrame(data, columns=["A","B"])
DataFrame выглядит следующим образом:
A B
0 0.243965 0.363859
1 0.376634 0.968781
2 0.113388 0.555450
Что я пытаюсь сделать, это посмотреть, если значение встолбец Строка 0 больше медианы, определенной ранее.Если это так, я хочу применить определенную формулу в столбце B строки 0 и сохранить результат в новом DataFrame.Если это не так, я хочу применить к значению в строке 0 столбца B другую формулу, а также сохранить ее в новом DataFrame.Я хочу повторить это для каждой строки.
Скажем, медиана равна 0,3 Две простые формулы, упрощающие это:
x -0,1 и X + 0,1
Я попытался решить это так:
for column in df[["A"]]:
if A > median:
new_Dataframe = B - 0.1
else:
new_Dataframe = B + 0.1
Результат должен выглядеть следующим образом, и это должен быть новый DataFrame:
new_DataFrame
0 0.463859
1 0.868781
2 0.655450
У меня проблемы с доступом к желаемым ячейкам, и у меня естьПонятия не имею, как решить эту проблему.Любая помощь приветствуется.Кроме того, в реальной DataFram гораздо больше строк, поэтому я не могу просто рассчитать ее для каждой строки, как в моем примере.