我有一个old
这样的熊猫数据框,
col1 col2 col3
0 1 2 3
1 2 3 4
2 3 4 5
我想创建一个新的数据帧new
,该数据帧从col2
复制old
并填充-1
作为其他列的伪值:
col2 new_col1 new_col3
0 2 -1 -1
1 3 -1 -1
2 4 -1 -1
我想我可以逐行进行迭代,并为-1
以外的任何列填写old
,但必须找到一种更好的,可能的矢量化方法。
想法?
谢谢!
答案 0 :(得分:3)
您可以执行git rebase
。
reindex
答案 1 :(得分:2)
assign
df[['col2']].assign(new_col1=-1, new_col3=-1)
答案 2 :(得分:1)
IIUC:
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
答案 3 :(得分:1)
也许:
new=pd.DataFrame({'col2':old['col2'],'new_col2':-1,'new_col3':-1})
print(new)
输出:
col2 new_col2 new_col3
0 2 -1 -1
1 3 -1 -1
2 4 -1 -1
@sacul感谢您告诉我