python数据框按索引to_dict,不包含NaN [英] python dataframe to_dict by index, exclude NaN

查看:58
本文介绍了python数据框按索引to_dict,不包含NaN的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

采样数据帧

     v1 v2  v3  v4  v5  v6
index                                                                   
0   -2  -2  -2  NaN -2  -2
1   -2  -2  -2  NaN -2  -2
2   -2  -2  -2  NaN -2  -2
3   -2  -2  -2  -2  -2  -2
4   -2  -2  -2  NaN -2  -2

我正在尝试将数据框更改为字典而且我想忽略json文档中的"nan"字段

Am trying to change dataframe to dictionary and i want to ignore 'nan' field in json documents

正在尝试什么:

import pandas as pd
pd.DataFrame((samp.to_dict('index')).items())

所需的输出:

index    values
0   {'v1':'-2', 'v2':'-2','v3':'-2','v5':'-2','v6':'-2'}
1   {'v1':'-2', 'v2':'-2','v3':'-2','v5':'-2','v6':'-2'}
2   {'v1':'-2', 'v2':'-2','v3':'-2','v5':'-2','v6':'-2'}
3   {'v1':'-2', 'v2':'-2','v3':'-2','v4':'-2','v5':'-2','v6':'-2'}
4   {'v1':'-2', 'v2':'-2','v3':'-2','v5':'-2','v6':'-2'}

推荐答案

使用 apply

df.apply(lambda x : x.dropna().to_dict(),axis=1)
Out[362]: 
index
0    {'v3': -2.0, 'v5': -2.0, 'v6': -2.0, 'v1': -2....
1    {'v3': -2.0, 'v5': -2.0, 'v6': -2.0, 'v1': -2....
2    {'v3': -2.0, 'v5': -2.0, 'v6': -2.0, 'v1': -2....
3    {'v4': -2.0, 'v3': -2.0, 'v5': -2.0, 'v2': -2....
4    {'v3': -2.0, 'v5': -2.0, 'v6': -2.0, 'v1': -2....
dtype: object

这篇关于python数据框按索引to_dict,不包含NaN的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆