我正在使用pandas制作一个csv文件,其中一些列已经有了数据。例如,它看起来像这样col1 col2 1 2 3 4 5 6 7 8我们调用 n - 列的行位置,如果 n=1, ,n(col1) =1n(col2) =2如果 n=2, ,n(col1) =3n(col2) =4等。现在我想添加col3和col4,它看起来像这样col1 col2 col3 col4 1 2 3 4 5 6 7 8我想在 n=2 时将 col1 的值写入 col3 与 , 将 n=2 时将 col2 的值写入 col4,依此类推。它看起来像这样n(col3)=1n(col4)=1col1 col2 col3 col4 1 2 3 4 3 4 5 6 5 6 7 8 7 8 9 10我正在用python编写一个不完整的代码import pandasresult = pandas.read_csv('csvfile.csv')n = 0for n in range (0,25): a = result.loc[n, 'col1']请帮忙。谢谢。
1 回答
手掌心
TA贡献1942条经验 获得超3个赞
使用 DataFrame.shift,但缺少最后一行值:
df[['col3','col4']] = df[['col1','col2']].shift(-1)
print (df)
col1 col2 col3 col4
0 1 2 3.0 4.0
1 3 4 5.0 6.0
2 5 6 7.0 8.0
3 7 8 NaN NaN
如果要替换它们,例如:0
df[['col3','col4']] = df[['col1','col2']].shift(-1, fill_value=0)
print (df)
col1 col2 col3 col4
0 1 2 3 4
1 3 4 5 6
2 5 6 7 8
3 7 8 0 0
添加回答
举报
0/150
提交
取消