我有一个包含两列 a 和 b 的 csv 文件,如下所示:
a b
601 1
602 2
603 3
604 4
605 5
606 6
我想读取数据并将其保存在一个新的 csv 文件中,如下所示:
s id
601 1
602 1
603 1
604 2
605 2
606 2
我试过这段代码:
data=pd.read_csv('./dataset/test4.csv')
list=[]
i=0
while(i<6):
list.append(data['a'].iloc[i:i+3])
i+=3
df = pd.DataFrame(list)
print(df)
通过这个输出:
0 1 2 3 4 5
a 601.0 602.0 603.0 NaN NaN NaN
a NaN NaN NaN 604.0 605.0 606.0
首先我需要将列表保存在数据框中,结果如下:
0 1 2 3 4 5
601.0 602.0 603.0 604.0 605.0 606.0
然后保存在一个csv文件中。但是我卡在了第一部分。
感谢您的帮助。
请您参考如下方法:
假设a中每3个元素构成b中的一组,只需对索引做一点整数除法即可。
data['b'] = (data.index // 3 + 1)
data
a b
0 601 1
1 602 1
2 603 1
3 604 2
4 605 2
5 606 2
保存为 CSV 非常简单 - 您只需调用 df.to_csv(...)。
只要您有一个单调递增的整数索引,就可以按索引除法。否则,您可以使用 np.arange(根据 MaxU 的推荐):
data['b'] = np.arange(len(data)) // 3 + 1
data
a b
0 601 1
1 602 1
2 603 1
3 604 2
4 605 2
5 606 2
