pandas nan判断_关于pandas无法对Nan重新赋值问题解决办法

问题背景

  随便描述一下:大概就是如果你的dataframe只有一行数据,其中有一列是nan的,在这种情况下如果对nan列进行复制为None会出现将nan转换为None状态

Excel截图

bc9f9c6810d105f29173cce34da3a728.png

读取显示

import pandas as pdimport numpy as nppath = r"文件路径ext.xls"df = pd.read_excel(path,header=0)print(df)#    1   2   3   4#0  1a  2a  3a NaN

解决办法

import pandas as pdimport numpy as nppath = r"文件路径ext.xls"df = pd.read_excel(path,header=0)df = df.append(df.copy(deep=True))df.loc[:, [4]] = Noneero_col_count = sum(dict(df[1].value_counts()).values())  # 获取一共几行数据norepeat_df = df.drop_duplicates(subset=[1,2,3,4], keep='first')  # 去除重复行,保保留第一次出现的行# 因为这种问题只会出现在只有一行数据的情况下,可以做一下判断有几行数据,# 然后将原df copy一份并合并到原df上,再对df的nan列进行赋值便可以正常赋值为nan了,# 之后再删除掉重复行便可

结语

这个bug是个紧急的问题,个人还是不太清楚发生这种现象到底是一个什么原理,因为比较急所以使用了目前这种解决办法,如果诸位有什么更好的办法或者不一样的点子,欢迎留言指导,万分感谢!!!

#python##pandas##excel##编程##科技新星创作营#

7c0d0f0b1b40b65bdc82d8aadb3be227.png
69d699d71add7447f140cf07d8505d29.png
b1bd86fca3d89672ec560ee69aec4d19.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值