【发布时间】:2019-09-25 19:25:05
【问题描述】:
我有一个大型稀疏数据框sdf 主要包含NaN。当我使用sdf.to_dict() 时,它会输出该矩阵的密集版本,其中填充了所有null 值。我怎么能省略那些 NaN 条目,而只有输出条目才对字典有价值?
例如,sdf 是:
2018-02-02 2018-02-03
23:58:36 NaN NaN
23:58:37 1.0 NaN
23:58:40 NaN NaN
23:58:41 NaN NaN
23:58:42 NaN NaN
23:58:43 NaN NaN
23:58:48 NaN NaN
23:58:49 NaN NaN
23:58:50 NaN NaN
23:58:52 NaN 1.0
23:58:59 NaN NaN
23:59:00 NaN NaN
23:59:01 NaN NaN
23:59:05 NaN NaN
23:59:07 NaN NaN
stf.to_dict() 会给出:
{'2018-02-02': {'23:58:36': nan, '23:58:37': 1.0, '23:58:40':
nan, '23:58:41': nan, '23:58:42': nan, '23:58:43': nan,
'23:58:48': nan, '23:58:49': nan, '23:58:50': nan, '23:58:52':
nan, '23:58:59': nan, '23:59:00': nan, '23:59:01': nan,
'23:59:05': nan, '23:59:07': nan}, '2018-02-03': {'23:58:36':
nan, '23:58:37': nan, '23:58:40': nan, '23:58:41': nan,
'23:58:42': nan, '23:58:43': nan, '23:58:48': nan, '23:58:49':
nan, '23:58:50': nan, '23:58:52': 1.0, '23:58:59': nan,
'23:59:00': nan, '23:59:01': nan, '23:59:05': nan, '23:59:07':
nan}}
即使sdf 也是一个稀疏数据框。
对不起,模棱两可。我想保留所有非 NaN 条目。所需的输出是
{'2018-02-02': {'23:58:37': 1.0}, '2018-02-03': {'23:58:52': 1.0}}
【问题讨论】:
-
您是否尝试删除
NaN行并转换为字典。sdf.dropna(how='all').to_dict()? -
@SaiKumar 请看我的更新:D