【问题标题】:Pandas convert positive number to 1 and negative number to -1Pandas 将正数转换为 1,将负数转换为 -1
【发布时间】:2018-03-02 14:31:42
【问题描述】:

我有一列正数和负数。如何将此列转换为新列,实现正数转1,负数转-1?

【问题讨论】:

标签: python pandas


【解决方案1】:

你需要numpy.sign

df['new'] = np.sign(df['col'])

示例

df = pd.DataFrame({ 'col':[-1,3,-5,7,1,0]})
df['new'] = np.sign(df['col'])
print (df)

   col  new
0   -1   -1
1    3    1
2   -5   -1
3    7    1
4    1    1
5    0    0

【讨论】:

  • 谢谢,对我帮助很大
【解决方案2】:
df[df < 0] = -1
df[df > 0] = 1

//no behaviour defined for df = 0

【讨论】:

    【解决方案3】:

    执行这项任务真的很容易 -

    对于整个数据框 -

        df[df < 0] = -1
        df[df > 0] = 1
    

    对于特定的列 -

       df['column_name'][df['column_name'] < 0] = -1
       df['column_name'][df['column_name'] > 0] = 1
    

    【讨论】:

      猜你喜欢
      • 2021-06-02
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      • 2015-06-14
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多