python - 其中列项目等于特定值插入新项目

标签 python pandas numpy where-clause assign

我正在尝试在单独的 Column 中插入一个基于关闭值的新 Column。对于下面的 df,我有一个 Column 天数。如果此 Column 中的值等于 Monday,我想将 0 插入到名为的新 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: either both or neither of x and y should be given

最佳答案

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

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

关于python - 其中列项目等于特定值插入新项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54975069/

相关文章:

python - 获取日期时间对象以打印为真实日期

python - 使用 ctypes 在 Fortran 函数上使用 scipy.optimize.minimize 的错误结果

python - 如何使用 pandas 计算 Excel 工作表中 if 语句为 true 的次数?

python - 如何在 Pandas 中删除带有空标题的列?

python - 如何获取数组滑动窗口 View 中最大元素的矩阵位置?

numpy - Pytorch:尝试将转换应用于 numpy 数组...失败并出现错误

python - 使用 pandas 将新数据帧索引到新列中

python - 嗖不要搜索带口音的单词

python - 根据条件获取 Python Pandas 中数据帧的第一行,而无需迭代整个数据帧

python - Pandas:将数据帧填充到最大行长度