for文で得た要素を1列目に並べて保存する方法
以下のプログラムでXを指定したときのYの値を表示するようにしました．そこでこのYの値を1列に並べてcsvファイルに保存しようとしましたがa=np.array(f_CS(xnew))ではiが40の時の要素しか反映されず一列に並べる方法がわかりませんでした．

```

    import pandas as pd
    from scipy.interpolate import interp1d
    import numpy as np
    import matplotlib.pyplot as plt
    date="1214"
    x=np.array([0, 6, 11 , 20, 30, 40])  
    y=np.array([92, 105, 114 , 125, 148, 141])  
    
    
    f_line = interp1d(x, y)
    f_CS = interp1d(x, y, kind='cubic')
    
    time_list=np.array([0, 3, 11 , 20, 30, 40])
    
    #for plot
    xnew =np.linspace(0, 40, num=50)
    plt.plot(x, y, 'o')
    plt.plot(xnew, f_CS(xnew), '-')
    
    for i in time_list:
        print('X =  ',i, 'の時の Yの値 = ', str(f_CS(i)))  
    a=np.array(f_CS(xnew))
    np.savetxt(f"{date}-target",a, delimiter=",")
    
```
[numpy.savetxt](https://numpy.org/doc/stable/reference/generated/numpy.savetxt.html)
のパラメーター `fname` は, filename or file handle

ファイル名の指定は, (`numpy.savetxt` に限らず大体において)一度きりの使用を目的としているようです。  
何回呼び出そうが, 新規にファイル作成・書き込む … ので結果的に最後の書き出ししか残りません。  
ファイルハンドルを使う必要があります。

```

    with open(f"{date}-target", 'w') as fp:
        for i in time_list:
            print(f'X = {i:2} の時の Yの値 = {f_CS(i)}')
            a = np.array(f_CS(xnew))
            np.savetxt(fp, [a], delimiter=",")
    
```

* * *

追記

50等分ではなく`time_list`に基づいた値, ならば, 次のようにできます

```

    for i in time_list:
        print(f'X = {i:2} の時の Yの値 = {f_CS(i)}')
    
    with open(f"{date}-target", 'w') as fp:
        np.savetxt(fp, f_CS(time_list), fmt='%s')
    
```