用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 版权协议,转载请附上原文出处链接和本声明。