【问题标题】:Dask Add New Column Based on the Previous ColumnDask 基于上一列添加新列
【发布时间】:2021-05-12 15:27:16
【问题描述】:

我正在使用 Dask 库来分​​析我的数据。

我有这组数据,我想添加一个新列,即电话号码。标志:

ID   Phone No
001   NaN
002   O123421
003   Nan

我的愿望输出是这样的,如果用户在电话上有 NaN 没有标志为 '0' 否则为 '1':

ID    Phone No   Phone No Flag
001    NaN           0
002    O123421       1
003    Nan           0

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: python pandas numpy dask large-data


    【解决方案1】:

    Dask 支持常规的pandas 语法,因此下面的代码与pandas 中的代码相同:

    ddf['phone_no_flag'] = ddf['phone_no'].isna() * 1
    

    乘以 1 是得到 0/1 的值,而不是 True/False。

    【讨论】:

    • 您能否为您的答案添加一些解释?
    【解决方案2】:

    请根据您显示的示例尝试以下操作。您可以在这里使用np.where.isnull() 函数。只需通过 np.where 检查条件,如果列(电话号码)的值为 NaN,则将 0 分配给新列或将 1 分配给新列值。

    import pandas as pd
    import numpy as np
    df1['Phone No Flag']=np.where(df1['Phone No'].isnull(),0,1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-21
      • 2017-01-11
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      相关资源
      最近更新 更多