【python常用数据变换】如何把dataframe中非0值替换为列名?

  • Post author:
  • Post category:python


用numpy的 mask 和 where 能解决这个问题。



问题描述

转换前

在这里插入图片描述

希望转换后

在这里插入图片描述

希望把dataframe中不为0的数据转换为列名,其他保持为0.

value = np.random.randint(low=0, high=2 ,size=(5,3))
df = pd.DataFrame(value, columns = ['a','b','c'])
mask = (df>0).values
res = pd.DataFrame(np.where(mask, df.columns.values, 0) ,columns=['a','b','c'])



版权声明:本文为weixin_41783424原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。