求助:如何用Numpy实现数据行重复、数值细分并写入文件?
问题
原始两列数据:
5 8.2 15 7.4 18 3.2 25 9.1
需要完成以下操作:
- 将每行的数值除以2
- 将处理后的每行重复两次
- 将所有数值除以10
- 写入文件
预期输出结果:
2.5 4.1 2.5 4.1 7.5 3.7 7.5 3.7 9.0 1.6 9.0 1.6 12.5 4.55 12.5 4.55
我尝试了以下代码,但无法实现预期效果:
import numpy as np data=np.loadtxt('two_column.txt') data=data/2 data=data/10 np.savetxt('output.txt',data)
解决方法
你的代码漏掉了重复每行两次的核心步骤,调整后即可实现需求,修正后的代码如下:
import numpy as np # 读取原始数据 data = np.loadtxt('two_column.txt') # 第一步:每行数值除以2 data_div2 = data / 2 # 第二步:将每行重复两次(axis=0表示按行维度重复) data_repeated = np.repeat(data_div2, repeats=2, axis=0) # 第三步:所有数值除以10 data_final = data_repeated / 10 # 写入文件,指定格式保证小数位数和预期一致 np.savetxt('output.txt', data_final, fmt='%.2f %.2f')
关键说明:
np.repeat(data_div2, repeats=2, axis=0):这一步是实现每行重复两次的核心,axis=0确保对整行进行复制,而非单个元素。fmt='%.2f %.2f':设置输出格式为两位小数,让结果和示例格式完全匹配,避免多余的小数位。
内容的提问来源于stack exchange,提问作者pro
相关产品推荐
相关产品推荐

