如何通过将Pandas导出到CSV来排除空值

时间:2019-07-18 01:02:45

标签: python pandas dataframe export-to-csv

我有一个像这样的数据框

0   2   5   12.0    1861.0  2230.0  NaN NaN     NaN     NaN     NaN     IMG_0083.JPG
1   2   5   9.0     1201.0  1500.0  1.0 1156.0  1612.0  1584.0  1935.0  IMG_0124.JPG
2   2   5   3.0     1159.0  1391.0  2.0 2957.0  3249.0  1317.0  1588.0  IMG_0352.JPG

我需要以以下格式将其导出到csv

0   2   5   12.0    1861.0  2230.0  IMG_0083.JPG
1   2   5   9.0     1201.0  1500.0  1.0 1156.0  1612.0  1584.0  1935.0  IMG_0124.JPG
2   2   5   3.0     1159.0  1391.0  2.0 2957.0  3249.0  1317.0  1588.0  IMG_0352.JPG

不仅用空白或其他值替换NaN,而且还完全跳过NaN行。如果您知道一种方法,则可以在数据框中完成此操作,但实际上只需要在导出到csv时进行。有帮助吗?

编辑:

对于那些好奇的人,我正在尝试将数据转换为.lst格式,以便可以使用MXNet将其转换为.rec格式。 I'm trying to use this作为格式指导。我正在尝试使用AWS SageMaker训练这些数据。如果您对特定主题了解更多,我会遇到各种错误,see my question here。我正在猜测所有这些,但是根据我链接到的文档,我认为我需要上面问题中的格式。

1 个答案:

答案 0 :(得分:0)

这是一种方法

pd.DataFrame(df.apply(lambda x : sorted(x,key=pd.isnull),1).tolist()).fillna('')
   0   1   2     3       4   ...    7     8     9     10            11
0   0   2   5  12.0  1861.0  ...                                      
1   1   2   5   9.0  1201.0  ...  1156  1612  1584  1935  IMG_0124.JPG
2   2   2   5   3.0  1159.0  ...  2957  3249  1317  1588  IMG_0352.JPG
[3 rows x 12 columns]

或者我们可以使用justify