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