【问题标题】:Pandas create boolean column from subset index arrayPandas 从子集索引数组创建布尔列
【发布时间】:2022-01-03 22:00:17
【问题描述】:

我想在长度为 499 的 pandas 数据框中创建一个布尔列。 我有一个索引值数组:

a = np.array([206, 252, 272, 315, 349, 374, 394, 406, 440, 466])

我想在 df 数据框中的这些索引位置有一列 True 值。 要处理的简化示例:

arr = np.array(range(0,499))
df = pd.DataFrame(data = arr, columns = ['var1'])

有什么想法吗?

【问题讨论】:

    标签: python pandas boolean


    【解决方案1】:

    创建一个包含 499 个False 值的列表并使用.locTrue 设置为a 数组中的选定行:

    df = pd.DataFrame(data=[False]*499, columns=['var1'])
    df.iloc[a] = True
    

    输出:

    >>> df[df['var1'] == True]
         var1
    206  True
    252  True
    272  True
    315  True
    349  True
    374  True
    394  True
    406  True
    440  True
    466  True
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-07
      • 2017-08-15
      • 2018-06-06
      • 2018-08-18
      • 2014-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多