Python 如何处理开放数据中数据帧中的缺失值?

Python 如何处理开放数据中数据帧中的缺失值?,python,pandas,data-cleaning,Python,Pandas,Data Cleaning,我下载了10个2010-2019年空气污染的开放数据集(已通过“read_csv”传输到熊猫数据框架),其中有一些缺失值 这些行按天排序,包括几个项目(如PM2.5、SO2等)。大部分数据包括17或18项。共有27列,分别为年、站、项、00、01、…、23 在这种情况下,我已经使用了 df.fillna(np.nan).apply(lambda x:pd.to_numeric(x,errors='concurve') 和df.内插(轴=1,内插=True) 但是现在,如果数据缺少从“00”到后面

我下载了10个2010-2019年空气污染的开放数据集(已通过“read_csv”传输到熊猫数据框架),其中有一些缺失值

这些行按天排序,包括几个项目(如PM2.5、SO2等)。大部分数据包括17或18项。共有27列,分别为年、站、项、00、01、…、23

在这种情况下,我已经使用了
df.fillna(np.nan).apply(lambda x:pd.to_numeric(x,errors='concurve')
df.内插(轴=1,内插=True)

但是现在,如果数据缺少从“00”到后面任何时间的值,插值函数将不起作用。如果我想填充所有这些空白,我需要合并不为null的最后一天数据,并再次使用
interpolate

但是,不同的日期有不同的项目编号,这意味着仍有一些行无法填充

简而言之,现在我正试图通过items键联系所有数据,并使用
interpolate

顺便说一句,在数据清理之后,我想应用
xgboost
和线性回归来预测PM2.5。是否有任何建议的方法来处理数据? (或任何在线演示代码?)

例如,数据如下所示:

我使用了
df.groupby('date').size()
,得到了

或者换句话说,如何将不同的日子分割在一起?
Groupby(['date','items'])
?然后如何合并


或者,可以从最后一行的最后一个值进行插值吗?

欢迎使用SO。我建议您阅读