Dask 基于上一列添加新列
Posted
技术标签:
【中文标题】Dask 基于上一列添加新列【英文标题】:Dask Add New Column Based on the Previous Column 【发布时间】: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
有人可以帮我解决这个问题吗?
【问题讨论】:
【参考方案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)
【讨论】:
以上是关于Dask 基于上一列添加新列的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Scala/Spark 添加不基于数据框中现有列的新列? [复制]