python - 在 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 文件,就像上面一样。
解决方案
推荐阅读
- javascript - 如何在 php 中使用 jquery 更新当前日期
- regex - 如何通过熊猫从列输出中删除某些字符串集
- php - 我们可以在函数声明时使用 (-) 符号吗
- swift - 如何以编程方式为我在容器视图中调用的 ViewController 设置约束?
- html - 如何从管理站点在站点上显示文本?
- javascript - 我正在尝试映射对象,嵌套在嵌套在数组中的对象中。解决这个问题的最佳方法是什么?
- python - 如何使用 base64 模块获取带有“\”的解码字符串
- c# - C# 动态类型 Object 属性 First 始终为 null
- android - 在 android kotlin mvvm 中没有主构造函数就不可能进行超类型初始化
- sql - SQL:如何按日期之间的相对时间按时间戳列分组?