python - 用 1 替换 Pandas 数据框中的非零值

标签 python pandas dataframe

我有一个 Pandas 数据框“结果”。此数据框中的属性之一是“交易”,如果它是非现金交易,它包含类似 0 的值,如果交易是现金交易,则包含一些实数。此属性如下所示:

result['transaction'] = [0,0,0,23.2,432,12,0,0,56.4]

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

result['transaction'] = [0,0,0,1,1,1,0,0,1]

我该怎么做?

最佳答案

另一种选择是使用 astype转换为 bool,然后转换为 int

df.astype(bool).astype(int)

哪些输出

   transaction
0            0
1            0
2            0 
3            1
4            1
5            1
6            0
7            0
8            1

根据我的经验,这种方法被证明是相当快的。

关于python - 用 1 替换 Pandas 数据框中的非零值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45790889/

相关文章:

python - NumPy 数组索引 4D 数组

python - 在数据框列上执行 cumsum 时如何设置最小值(物理库存不能低于 0)

Python Pandas - 数据框中多列的滚动回归

python - 多索引合并返回空 df 但连接应该有效

python - 使用递归将字符串拆分为 block

python - 为什么周期性进口问题消失了?

python - DLL 加载失败 : The specified module could not be found PYTHON

python - 两个字符串数组的乘积

python | Pandas |读取不同格式的 Excel 表格

r - 将宽数据帧转换为具有两列以上的纵向格式