用1替换pandas数据帧中的非零值

neh*_*eha 1 python dataframe pandas

我有一个pandas数据帧'结果'.此数据框中的一个属性是"交易",如果是非现金交易,则包含值0,如果交易是现金交易,则包含一些实数.此属性如下所示:

result['transaction'] = [0,0,0,23.2,432,12,0,0,56.4]
Run Code Online (Sandbox Code Playgroud)

我想更改此属性的值,以便所有非零值将替换为1.因此,我的结果属性应如下所示:

result['transaction'] = [0,0,0,1,1,1,0,0,1]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

mir*_*ulo 5

另一种选择可能是用来astype转换为bool然后int.

df.astype(bool).astype(int)
Run Code Online (Sandbox Code Playgroud)

哪个输出

   transaction
0            0
1            0
2            0 
3            1
4            1
5            1
6            0
7            0
8            1
Run Code Online (Sandbox Code Playgroud)

根据我的经验,这种方法已被证明非常快.