2017-05-31 17 views
1

は、私は、各要素が8つのスペース一つずつ(各1間には別離を)取るのtxtnumpyの異なる形式の出力

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 

として保存するnp.savetxt(file,array,fmt='%8.1f')を使用したいです。 最初の年の形式は%8dで、その他は%8.1fです。右にフラッシュします。 numpyでこれを行う方法は?またはpandasを使用していますか?

答えて

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 
+0

年号がインデックスの場合は、それに適用できますか? – Cobin