如何用列值替换熊猫数据框中的每个值?

时间:2019-01-21 22:57:18

标签: python pandas python-2.7

如果我有一个这样的Pandas数据框:

WebSockets

如何用每个列的值替换每个值,这样我得到一个熊猫数据框:

libwebsockets

2 个答案:

答案 0 :(得分:2)

IIUC使用mul

df.notnull().mul(df.columns,1).replace('',np.nan)
   0   20  30   40   50
1  0  NaN  30   40  NaN
2  0   20  30  NaN   50
3  0   20  30   40  NaN

答案 1 :(得分:2)

masknp.tile结合使用:

df = df.mask(df.notnull(), np.tile(df.columns, (df.shape[0], 1)))

print(df)

   0     20  30    40    50
1   0   NaN  30  40.0   NaN
2   0  20.0  30   NaN  50.0
3   0  20.0  30  40.0   NaN

这假设您的列标签是整数;如果没有,请先使用:

df.columns = df.columns.astype(int)