将pandas数据框架转换为一个列表[英] Convert pandas dataframe to a list

本文是小编为大家收集整理的关于将pandas数据框架转换为一个列表的处理方法,想解了将pandas数据框架转换为一个列表的问题怎么解决?将pandas数据框架转换为一个列表问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我有一个熊猫数据框:

apple   banana  carrot  diet coke
1         1       1         0
0         1       0         0
1         0       0         0
1         0       1         1
0         1       1         0
0         1       1         0

我想将其转换为以下内容:

[['apple', 'banana', 'carrot'],
 ['banana'],
 ['apple'],
 ['apple', 'carrot', 'diet coke'],
 ['banana', 'carrot'],
 ['banana', 'carrot']]

我该怎么做?非常感谢.

推荐答案

因为人生苦短,我可能会做一些直截了当的事情

>>> fruit = [df.columns[row.astype(bool)].tolist() for row in df.values]
>>> pprint.pprint(fruit)
[['apple', 'banana', 'carrot'],
 ['banana'],
 ['apple'],
 ['apple', 'carrot', 'diet coke'],
 ['banana', 'carrot'],
 ['banana', 'carrot']]

这是可行的,因为我们可以使用布尔数组 (row.astype(bool)) 来仅选择 df.columns 中该行为 True 的元素.

本文地址:https://www.itbaoku.cn/post/1727997.html