为了账号安全,请及时绑定邮箱和手机立即绑定

编辑Pandas DataFrame副本时发生意外的转换

编辑Pandas DataFrame副本时发生意外的转换

白衣非少年 2021-04-16 18:15:06
我的pandas DataFramedf具有不同类型的列,某些值为dfNaN。为了测试一些假设,我创建了的副本df,并使用pandas.isnull()将复制的df转换为(0,1):df_copy = dffor column in df_copy:    df_copy[column] = df_copy[column].isnull().astype(int)但后两者df并df_copy包括0和1。为什么这样的代码转换df为0,1,是有办法预防呢?
查看完整描述

2 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

您可以防止它声明:

df_copy = df.copy()

这将创建一个新对象。在此之前,您实际上有两个指向同一对象的指针。您可能还需要检查此答案,并注意DataFrames是可变的。

顺便说一句,您可以通过以下方法简单地获得所需的结果:

df_copy = df.isnull().astype(int)


查看完整回答
反对 回复 2021-04-27
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

更好的记忆方式


for column in df:

    df[column + 'flag'] = df[column].isnull().astype(int)


查看完整回答
反对 回复 2021-04-27
  • 2 回答
  • 0 关注
  • 198 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信