我有一个类似于此的数据框(但非常大):
1234 4567 7890
Ecu 0.2 0 12
Per 0.8 12 0
Col 345 -3 0
我需要用条件if X > 0, X = 1 and if X < 0, X = 0
替换所有列中的数字(但不是第一个中的数字),结果我需要另一个数据帧,如下所示。
1234 4567 7890
Ecu 1 0 1
Per 1 1 0
Col 1 0 0
答案 0 :(得分:1)
使用布尔索引:
In [7]: df.iloc[:, 1:] = df.iloc[:, 1:].gt(0).astype(np.uint8)
In [8]: df
Out[8]:
1234 4567 7890
Ecu 0.2 0 1
Per 0.8 1 0
Col 345.0 0 0
它会将所有正数(>0
)替换为1
,将所有非正数(<=0
)替换为0