gpt4 book ai didi

python - 如何拆分特定范围内的列?

转载 作者:太空宇宙 更新时间:2023-11-04 07:17:16 24 4
gpt4 key购买 nike

我正在研究蛋白质轨迹,我有一个很长的数据框。 (一栏 600.000 行的文件。

这是一个例子:

100
100
0
100
100
...
n=600.000

我希望每 3000 行拆分此数据,在旁边创建一个新列,如下例所示:

Col1     Col2     Col3     Col4      Col...200:
n=1 n=3001 n=6001 n=9001 ...
0 0 0 0 ...
0 0 0 0 ...
100 100 100 100 ...
... ... ... ... ...
n=3000 n=6000 n=9000 n=12000 n=600.000

n= 行号。

有什么方法可以在 R 或 bash 中做到这一点?

非常感谢您。

编辑:我在 python 中使用这个脚本来生成该列:

    from decimal import *
i = 1
while(i <= 15):
output = open('cache/distances_'+str(i)+'.dat.results', 'w')
with open('cache/distances_medias_'+str(i)+'.dat', 'r') as f:
for line in f:
columns = line.split(' ')
if(Decimal(columns[0]) <= 2.5 and (Decimal(columnas[1]) > 120 and Decimal(columnas[1]) < 180)):
salida.write("100\n")
else:
salida.write("0\n")
salida.close()
i+=2

有什么方法可以修改脚本,当它到达第 3000 行时,从新的列开始?

最佳答案

我不确定我理解你的例子,但你应该能够使用拆分和粘贴的组合:

$ cat filetosplit
1
2
3
4
5
6
7
8
9
10

$ split filetosplit "split." -l 3 -d ; paste split*
1 4 7 10
2 5 8
3 6 9

split 命令会生成每行 3 行的文件(您可以修改为 3000)。粘贴会将它们放在一起。您可以使用 sed 添加带有列名和初始编号的标题。

关于python - 如何拆分特定范围内的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37876523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com