我希望根據行中位數將資料幀轉換為二進制。請在下面查看我的輸入和預期輸出。
import pandas as pd
df_input = pd.DataFrame({'row1': [5, 10, 20], 'row2': [1, 30, 40],},
index = ['2021-02-24', '2021-02-25', '2021-02-26'])
df_expected_output = pd.DataFrame({'row1': [1, 0, 0], 'row2': [0, 1, 1],},
index = ['2021-02-24', '2021-02-25', '2021-02-26'])
df_median = df_input.median(axis=1)
我在這里找到了基于列中位數進行轉換的優雅解決方案,但無法將其用于比較行。
(dat > dat.median()).astype('int')
我怎樣才能為行做到這一點?
uj5u.com熱心網友回復:
gt與正確的軸一起使用 :
df_input.gt(df_input.median(axis=1), axis=0).astype(int)
輸出:
row1 row2
2021-02-24 1 0
2021-02-25 0 1
2021-02-26 0 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/480595.html
上一篇:計算一些日期問題
