首页 > 解决方案 > 在 csv 文件的每一行中提取第一个不是 NaN 的元素

问题描述

我有一个包含测量值的大型 CSV 文件,其中包含超过 75000 行和超过 200 列。每列都有一个 locationId、一种测量类型(类型 A 或 B)和对应于按小时间隔测量的时间和日期的列:

   locationId  type   2021-02-09 22  ...  2021-03-11 05  2021-03-11 06
0      60       A         NaN        ...        NaN          NaN
1      42       B         NaN        ...        NaN          NaN
2      58       A         NaN        ...        NaN          NaN
3      67       A         NaN        ...        NaN          NaN
4      53       B         NaN        ...        NaN          NaN

每行中的大多数日期条目都有 NaN,但每行中至少有 1 列具有有效的数字条目。我需要提取每行中第一个不是 NaN 的值,并将结果显示为:

   locationId  type   2021-0X-XX XX  
0      60       A         2.45        
1      42       B         5.32       
2      58       A         2.33        
3      67       A         2.21        
4      53       B         3.93        

我尝试过使用 iloc 和 loc 进行 Dataframe 操作,但这些主要用于操作同一列中的值。我对 python 很陌生,有人告诉我数据框将是一个开始的地方,但这可能是错误的我不知道..?我的最终结果是导出一个只有 1 个日期列的 csv 文件,就像上面一样。

标签: pythonpandasdataframecsvexport-to-csv

解决方案


推荐阅读