python - pandas 根据之前的列生成新的列

标签 python pandas

有一个数据集,其中一列包含一些缺失值。我想生成一个新列,如果前一列的单元格缺失,则为新列分配 1,否则为 0。

我试过了

df[newcolumn] = map(lamba x: 1 if x is None else 0, df[formercolumn])
但没有成功。

同时

df[newcolunm] = df[formercolunms].isnull().apply(lambda x: 1 if x is True else 0)

效果很好。

针对这种情况有更好的解决方案吗?

最佳答案

使用np.where:

df['newcolumns'] = np.where(df.formercolumns.isnull(),0,1)

关于python - pandas 根据之前的列生成新的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43670825/

相关文章:

python - 在 Python 中将 CSV 数据转换为嵌套的 JSON

python - Pandas str.contains() 在某些情况下不起作用

python - 在没有协同例程的情况下编写良好的 Scala(包括使用 Yield 的 Python 示例)

python - 无法在 CherryPy 3.8.0 上使用 SSL

pandas - 如何向面板内的所有 DataFrame 添加一列(不要介意使用 for 循环)

python - 对于这个例子,为什么颜色在 matplotlib 中不起作用?

python - 将包含不同长度列表的字典转换为 2 列数据帧

python - RuntimeError 在 openCV 中使用 cv.SaveImage

具有多个参数的 Python 多处理池映射

python - 防止其他应用程序将端口设置为 "stolen"