numpy savetxt不同cols不同的格式输出

时间:2017-05-31 16:23:49

标签: pandas numpy

我想使用np.savetxt(file,array,fmt='%8.1f')保存为txt

    1958     6.4     1.8     7.7    70.1    41.4    38.5    65.4    25.7    
    1959    27.2    42.5    63.3    86.2   101.5    71.4   114.2   137.9    
    1960    22.9    18.3    28.7   106.5   159.1    50.4     203   121.6     
    1961     4.4    26.9    47.1    67.9    53.6    64.8      95      42     
    1962    20.9    31.2    60.6    38.8    66.2    37.9    67.9    62.3    
    1963    11.9    14.5      59      56    83.1   110.9    77.1    93.5   

每个元素逐个占用8个空格(每个元素之间没有分隔)。 第一个cols年份格式为%8d,其他格式为%8.1f。向右冲。 如何在numpy中执行此操作?或使用pandas

1 个答案:

答案 0 :(得分:0)

n = len(df.columns)
fmt = ('{:8.0f}' + '{:8.1f}' * (n - 1)).format

print(df.apply(lambda x: fmt(*x), 1).to_csv(index=None, header=None))

    1958     6.4     1.8     7.7    70.1    41.4    38.5    65.4    25.7
    1959    27.2    42.5    63.3    86.2   101.5    71.4   114.2   137.9
    1960    22.9    18.3    28.7   106.5   159.1    50.4   203.0   121.6
    1961     4.4    26.9    47.1    67.9    53.6    64.8    95.0    42.0
    1962    20.9    31.2    60.6    38.8    66.2    37.9    67.9    62.3
    1963    11.9    14.5    59.0    56.0    83.1   110.9    77.1    93.5