我有一个 Pandas 数据框old,如下所示: col1 col2 col30 1 2 31 2 3 42 3 4 5我想创建一个新的数据框,从它的其他列new复制并填充为虚拟值:col2old-1 col2 new_col1 new_col30 2 -1 -11 3 -1 -12 4 -1 -1我想我可以逐行迭代并填充-1不在其中的任何列,old但认为必须有更好的,可能是矢量化的方式。想法?
3 回答

慕哥9229398
TA贡献1877条经验 获得超6个赞
你可以做到reindex。
df.reindex(columns=['col2','newcol1','newcol3'],fill_value=-1)
Out[183]:
col2 newcol1 newcol3
0 2 -1 -1
1 3 -1 -1
2 4 -1 -1

手掌心
TA贡献1942条经验 获得超3个赞
IUC:
new = old.copy()
new[['col1','col3']] = -1
>>> new
col1 col2 col3
0 -1 2 -1
1 -1 3 -1
2 -1 4 -1
或者更一般地,将所有列更改col2为-1:
new = old.copy()
new[list(set(new.columns) - {'col2'})] = -1
添加回答
举报
0/150
提交
取消