【问题标题】:Subsetting data using a boolean column with Pandas使用带有 Pandas 的布尔列对数据进行子集化
【发布时间】:2022-01-20 00:00:14
【问题描述】:

我想创建一个新列 (D),其中仅包含列 (B) 中满足列 (C) 中布尔条件的数据,其中“NA”表示错误条件。

例如,这是我的原始表格。

A B C
1 car True
2 car True
3 bike False
4 house False

我想使用布尔列 (C) 将列 (B) 子集到一个新列 (D) 中,就像这样..

A B C D
1 car True car
2 car True car
3 bike False NA
4 horse False NA

【问题讨论】:

    标签: python python-3.x pandas dataframe


    【解决方案1】:

    np.where 中使用df['C'] 作为条件:

    df['D'] = np.where(df['C'], df['B'], np.nan)
    

    输出:

       A      B      C    D
    0  1    car   True  car
    1  2    car   True  car
    2  3   bike  False  NaN
    3  4  house  False  NaN
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 2022-12-17
      • 2020-09-11
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      相关资源
      最近更新 更多