我有一个数据集simalar到这个:
p = {'A': [0,1,0,1], 'B': [1,1,1,1], 'C': [0,0,1,1], 'D': [1,1,1,0]}
df5 = pd.DataFrame(data=p)
df5
现在我想创建一个列表,每行对应一个值,我目前正在这样做:
cols = df5.dot(df5.columns).map(set).values.tolist()
cols
但是,如果我的专栏名称不是“A”,而是“AA”,那么这就不再有效了,是否有解决方法
Tags:
将1值替换为列名
将0值替换为NaN,然后使用
stack
删除它们并转换为list这将返回列表列表,而不是集合列表:
堆叠是为了去除零。如果您可以保留它们(或者在不同的步骤中删除),那么
df5.values.tolist()
就可以了您可以为列名添加分隔符,然后通过^{} 删除last并使用^{} :
另一种解决方案是使用numpy索引:
相关问题 更多 >
编程相关推荐