使用Python根据条件替换数据帧中的所有值(所有列)
我有一个与此类似的数据帧(但非常大): 如果X>0,X=1,如果X<0,X=0,我需要将所有列中的数字(但不是第一列中的数字)替换为条件使用Python根据条件替换数据帧中的所有值(所有列),python,pandas,matrix,dataframe,Python,Pandas,Matrix,Dataframe,我有一个与此类似的数据帧(但非常大): 如果X>0,X=1,如果X0)替换为1,所有非正数(如果x==0,您希望有什么值?如果x
,结果我需要另一个数据帧,如下所示
1234 4567 7890
Ecu 1 0 1
Per 1 1 0
Col 1 0 0
使用布尔索引:
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
,所有非正数(如果x==0
,您希望有什么值?如果x<0,x==0
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