Примените условие «if», чтобы сравнить два столбца панд и сформировать третий столбец со значением второго столбца.

Я думаю, что вы хотите scipy.stats.percentileofscore

Пример:

percentileofscore([1, 2, 3, 4], 3)
75.0
percentiles = [percentileofscore(data, i) for i in data]

0
задан Alperen 26 February 2019 в 18:21
поделиться

1 ответ

Я бы попробовал что-то вроде этого:

def calculate_profp(row):
    profP = None
    if row['pos'] == 1:
        if row['lastPrice'] < row['exp']:
            profP = row['lastPrice'] - row['ltP']
        else:
            profP = row['lastPrice'] - row['ltP']
    return profP

post_df['profP'] = post_df.apply(calculate_profp, axis=1)

Что вы хотите сделать со строками, где row['pos'] не 1?

, после этого вы можете выполнить: 1110]

post_df['pos'] = post_df.apply(
    lambda row: 0 if row['pos'] == 1 and row['lastPrice'] < row['exp'] else row['pos'],
    axis=1)

, чтобы установить pos из 1 в 0

или:

post_df['pos'] = post_df['pos'].map(lambda pos: 0 if pos == 1 else pos)
0
ответ дан Granny Aching 26 February 2019 в 18:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: