
用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'])
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)