Минимум два столбца в 3-м столбце pandas python - PullRequest
0 голосов
/ 05 января 2020

df

Col1   Col2   Col3   Col4    Col5
3       1      22     13      0
5       4      10      12     14
1       2      1        1      1

and so on

Код

df['Col6'] = df.min(axis=1)

Это вернет минимум всех 5 столбцов, но Я хочу столбец, который возвращает минимум 2 столбца. Минимум столбца 4 и столбца 1, скажем, в 6-м столбце. Как получить это

Ожидаемый результат : минимум округлено от столбцов col1 и col4 от 2 до десятичных знаков

df [6] = round (min (df [col4], df [col1]), 2)

1 Ответ

2 голосов
/ 05 января 2020

Вы можете отфильтровать оба столбца по списку, а затем добавить Series.round:

df['Col6'] = df[['Col4','Col1']].min(axis=1).round(2)
print (df)
   Col1  Col2  Col3  Col4  Col5  Col6
0     3     1    22    13     0     3
1     5     4    10    12    14     5
2     1     2     1     1     1     1  

Ваше решение должно работать с numpy.minimum и numpy.round:

df['Col6'] = np.round(np.minimum(df['Col4'], df['Col1']),2) 
...