我有一个 Dataframe ,它有几个特征,一个特征可以有一个NaN值。
feature1 feature2 feature3 feature4
10 NaN 5 2
2 1 3 1
NaN 2 4 NaN
注意:列也可以包含字符串。
我们如何获得每行包含非NaN值的列名的列表/数组?
因此,我的示例的结果数组将是:
res = array([feature1, feature3, feature4], [feature1, feature2, feature3, feature4],
[feature2, feature3])
2条答案
按热度按时间ffx8fchx1#
为提高性能,请使用列表解析并将值转换为numpy数组:
第一个
2w2cym1i2#
您可以使用
stack
仅保留非NAN值,并使用groupby.agg
聚合为列表:输出为系列:
作为列表:
输出量: