Python 如何以智能方式删除数据帧中的空副本?
我有一个很大的数据集。它缺少一些数据。数据集包含类型为Python 如何以智能方式删除数据帧中的空副本?,python,pandas,duplicates,dataset,data-cleaning,Python,Pandas,Duplicates,Dataset,Data Cleaning,我有一个很大的数据集。它缺少一些数据。数据集包含类型为string(对于名称等列)和float(对于高度等列)的变量。此数据集中的某些行只是缺少数据的重复行(有时带有后缀号)。我想做的是删除空的副本,保留有数据的副本(有时同一个人可以有两行不同的数据,但这没关系,我想这样保留) 需要知道的一件重要事情是,虽然我将字符串类型列中的空值更改为np.nan,但在float类型列中,空VAL由-99.0表示。顺便问一下,是否将其设置为-1而不是-99.0?还是没有区别?我稍后将在机器学习模型中使用它 因
string
(对于名称等列)和float
(对于高度等列)的变量。此数据集中的某些行只是缺少数据的重复行(有时带有后缀号)。我想做的是删除空的副本,保留有数据的副本(有时同一个人可以有两行不同的数据,但这没关系,我想这样保留)
需要知道的一件重要事情是,虽然我将字符串类型列中的空值更改为np.nan
,但在float
类型列中,空VAL由-99.0
表示。顺便问一下,是否将其设置为-1
而不是-99.0
?还是没有区别?我稍后将在机器学习模型中使用它
因此,我的解决方案是:
不管怎样,你们知道更好的方法吗?甚至不一定是代码,只是一个如何更有效地完成它的想法。提前感谢。如果您只想删除带有空“NaN”值的列,请运行此命令
df.dropna(subset = ["column_with_empty_NaNs"], inplace=True)
如果要删除包含任何空单元格的行
df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
df.dropna(axis=0, how='all', thresh=None, subset=None, inplace=False)
如果要删除包含所有空单元格的行
df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
df.dropna(axis=0, how='all', thresh=None, subset=None, inplace=False)
如果只想删除具有空“NaN”值的列,请运行以下命令
df.dropna(subset = ["column_with_empty_NaNs"], inplace=True)
如果要删除包含任何空单元格的行
df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
df.dropna(axis=0, how='all', thresh=None, subset=None, inplace=False)
如果要删除包含所有空单元格的行
df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
df.dropna(axis=0, how='all', thresh=None, subset=None, inplace=False)
链接到
dropna()
函数的参考:链接到dropna()
函数的参考: