【问题标题】:Where Column item is equal to specific value insert new item其中列项目等于特定值插入新项目
【发布时间】:2019-03-04 00:02:47
【问题描述】:

我正在尝试在单独的 Column 中插入基于值的新 Column。对于下面的df,我有一个Column 天。如果此Column 中的值等于Monday,我想将0 插入一个名为Group 的新Column

这是我的尝试:

import pandas as pd
import numpy as np

d = ({             
   'Day' : ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'],                                                                                                                                                 
    })

df = pd.DataFrame(data=d)

df['Group'] = np.where(df['Day'] == 'Monday', 0)
print(df)

错误:

ValueError: x 和 y 要么都给出,要么都不给出

【问题讨论】:

    标签: python pandas numpy where assign


    【解决方案1】:

    您需要为星期一和星期一以外的日期提供一个值。如果您查看docs,这就是所谓的xy。现在你只为前者提供一些东西。因此,假设所有非星期一都进入第 1 组,那么您有:

    df['Group'] = np.where(df['Day'] == 'Monday', 0, 1)
    

    【讨论】:

      【解决方案2】:

      就这么简单

      df['Group']=(df['Day'] != 'Monday').astype(int)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-27
        • 2018-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-20
        • 1970-01-01
        相关资源
        最近更新 更多