Pandas:从其他数据框中的某些列创建新数据框

我有一个 Pandas 数据框old,如下所示:


  col1 col2 col3

0   1   2   3

1   2   3   4

2   3   4   5

我想创建一个新的数据框,从它的其他列new复制并填充为虚拟值:col2old-1


  col2 new_col1 new_col3

0   2   -1       -1

1   3   -1       -1

2   4   -1       -1

我想我可以逐行迭代并填充-1不在其中的任何列,old但认为必须有更好的,可能是矢量化的方式。


想法?


万千封印
浏览 232回答 3
3回答

慕哥9229398

你可以做到reindex。df.reindex(columns=['col2','newcol1','newcol3'],fill_value=-1)Out[183]:    col2  newcol1  newcol30     2       -1       -11     3       -1       -12     4       -1       -1

手掌心

IUC:new = old.copy()new[['col1','col3']] = -1>>> new   col1  col2  col30    -1     2    -11    -1     3    -12    -1     4    -1或者更一般地,将所有列更改col2为-1:new = old.copy()new[list(set(new.columns) - {'col2'})] = -1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python