Я думаю, это должно быть относительно легко, но я нуб!
Необходимо вернуть результаты в новом столбце панд (вызов этого столбца B), который основан на результате строки ниже в столбце A.
Пожалуйста, напечатайте код ниже
import pandas as pd
df = pd.DataFrame({'A': ['BUY', 'BUY', 'HODL', 'SELL', 'HODL', 'HODL', 'BUY', 'SELL', 'SELL', 'BUY', 'BUY', 'HODL', 'SELL', 'SELL', 'SELL', 'HODL', 'SELL', 'SELL','BUY']})
print(df)
Мне нужен новый столбец (столбец B), чтобы возвращать результаты, основанные на следующих.
Начиная с нижней части кадра данных панд. Последняя ячейка в столбце A (т. Е. A18 = 'BUY') всегда может вернуть тот же результат для последней ячейки в столбце B.
Следующая строка в столбце A (т. Е. A17) - это «ПРОДАЖА». Я рассматриваю это как изменение, и в качестве такой ячейки B17 теперь также должен быть «ПРОДАВАТЬ»
Следующая строка в столбце A (т. Е. A16) снова «ПРОДАЖА». Поскольку это не отличается от A17, ячейка B16 теперь должна быть 'NA'
Следующая строка в столбце A (т. Е. A15) - это HODL. Все ячейки 'HODL' всегда должны быть отражены как ячейки 'HODL' в столбце B
Если бы ячейка A15 снова была «ПРОДАВАТЬ», в столбце B была бы применена другая «NA».
Те же принципы, что и для клеток «ПРОДАВАТЬ», применимы и для клеток «КУПИТЬ»
Следующий df был предоставлен только для визуализации ожидаемого результата:
import pandas as pd
df = pd.DataFrame({'A': ['BUY', 'BUY', 'HODL', 'SELL', 'HODL', 'HODL', 'BUY', 'SELL', 'SELL', 'BUY', 'BUY', 'HODL', 'SELL', 'SELL', 'SELL', 'HODL', 'SELL', 'SELL','BUY'], 'B': ['NA', 'BUY', 'HODL', 'SELL', 'HODL', 'HODL', 'BUY', 'NA', 'SELL', 'NA', 'BUY', 'HODL', 'NA', 'NA', 'SELL', 'HODL', 'NA', 'SELL','BUY']})
print(df)