微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 使用唯一的正整数填充DataFrame

我有一个看起来像这样的DataFrame

   col1 col2 col3  col4 col5  
 0   0   1    0     1     1
 1   0   1    0     0     1

我想为每个0条目分配一个大于1的唯一正整数.

所以我想要一个看起来像这样的DataFrame

      col1 col2  col3  col4 col5    
    0  2    1     3     1    1
    1  4    1     5     6    1

整数不一定是有序的序列,只是积极和独特.

解决方法:

np.arange(…).reshape(df.shape)生成一个数据帧,其中包含从2开始的连续整数.

df.where(df,…)有效,因为您的数据框由二进制指示符(零和一)组成.它保留所有真值(即那些值),然后使用连续的numpy数组填充零.

# optional: inplace=True
>>> df.where(df, np.arange(start=2, stop=df.shape[0] * df.shape[1] + 2).reshape(df.shape))  
   col1  col2  col3  col4  col5
0     2     1     4     1     1
1     7     1     9    10     1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐