关于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了,# 之后再删除掉重复行便可

 

posted @ 2019-07-03 10:33  争-渡  阅读(856)  评论(0)    收藏  举报