数据帧到没有索引的听写列表中

2024-04-27 08:17:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧如下

 NY       FL      IL      GA      CA
80.0    30.0    60.0    NaN     NaN
90.0    NaN     NaN     10.0    20.0

你知道吗 当我这样做的时候

df.apply(lambda x : x.dropna().to_dict(),axis=1)

我明白了

0    {'NY': 80.0, 'FL': 30.0, 'IL': 60.0}
1    {'NY': 90.0, 'GA': 10.0, 'CA': 20.0}
dtype: object

但我想要的是

list =  [{'NY':80,'FL':30, 'IL':60}, {'NY':90, 'GA':10, 'CA':20 }] 

我该怎么做


Tags: to数据lambdadfnandictilca
2条回答

试试这个:[{k:v for (k,v) in d.items() if not np.isnan(v)} for d in df.to_dict(orient="rows")]

只需转换结果tolist()

In [1235]: df.apply(lambda x : x.dropna().to_dict(), axis=1).tolist()
Out[1235]: [{'NY': 80.0, 'FL': 30.0, 'IL': 60.0}, {'NY': 90.0, 'GA': 10.0, 'CA': 20.0}]

如果所有值都是数字,并且结果需要整数-添加immediate.astype(int)调用:

In [1241]: df.apply(lambda x : x.dropna().astype(int).to_dict(), axis=1).tolist()
Out[1241]: [{'NY': 80, 'FL': 30, 'IL': 60}, {'NY': 90, 'GA': 10, 'CA': 20}]

相关问题 更多 >