关于pandas无法对Nan重新赋值问题解决办法[贼笨办法一]

1、问题背景

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

2、Excel截图

读取显示

import pandas as pd
import numpy as np
path = r"文件路径\text.xls"
df = pd.read_excel(path,header=0)
print(df)

#    1   2   3   4
#0  1a  2a  3a NaN

解决办法

import pandas as pd
import numpy as np
path = r"文件路径\text.xls"
df = pd.read_excel(path,header=0)
df = df.append(df.copy(deep=True))
df.loc[:, [4]] = None
ero_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了,# 之后再删除掉重复行便可

 

转载于:https://www.cnblogs.com/L5251/articles/11124916.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值