热线电话:13121318867

登录
2019-01-22 阅读量: 843
如何用列值替换pandas数据框中的每个值?

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

0 20 30 40 50

1 5 NaN 3 5 NaN

2 2 3 4 NaN 4

3 6 1 3 1 NaN

如何用列值替换每个值,以便得到像这样的pandas数据框:

0 20 30 40 50

1 0 NaN 30 40 NaN

2 0 20 30 NaN 50

3 0 20 30 40 NaN

###########################

我目前想到的解决办法:

使用mask具有np.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)

0.0000
2
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子