-1
我希望這不是一個經典的初學者問題。不過,我閱讀並花了數天試圖保存我的csv數據,但沒有成功。將計算列添加到csv文件
我有一個函數,使用我手動給出的輸入參數。該函數生成3列,我保存在CSV文件中。當我想在其他輸入中使用該函數並保存從先前計算的列中分配的新數據時,結果是大熊貓將我的CSV文件按照3個單獨列與標題一個接一個地排序。
我用下面的代碼保存我的數據:
data.to_csv('/Users/Computer/Desktop/Examples anaconda/data_new.csv', sep=',',mode='a')
,其結果是:
dot lake mock
1 42 11.914558
2 41 42.446977
3 40 89.188668
dot lake mock
1 42 226.266513
2 41 317.768887
dot lake mock
3 42 560.171830
4. 41. 555.005333
我要的是:
dot lake mock mock mock
0 42 11.914558. 226.266513. 560.171830
1 41 42.446977. 317.768887. 555.005533
2 40 89.188668
UPDATE: 我的DataFrame是使用如下函數生成的:
首先我打開一個CSV文件:
df1=pd.read_csv('current_state.csv')
def my_function(df1, photos, coords=['X', 'Y']):
Hzs = t.copy()
shifts = np.floor(Hzs/t_step).astype(np.int)
ms = np.zeros(shifts.size)
delta_inv = np.arange(N+1)
dot = delta_inv[N:0:-1]
lake = np.arange(1,N+1)
for i, shift in enumerate(shifts):
diffs = df1[coords] - df1[coords].shift(-shift)
sqdist = np.square(diffs).sum(axis=1)
ms[i] = sqdist.sum()
mock = np.divide(ms, dot)
msds = pd.DataFrame({'dot':dot, 'lake':lake, 'mock':mock})
return msds
data = my_function(df1, photos, coords=['X', 'Y'])
print(data)
data.to_csv('/Users/Computer/Desktop/Examples anaconda/data_new.csv', sep=',',mode='a'
我不認爲問題在於'pandas'如何寫入csv。你應該在代碼中展示如何構建'DataFrame' – roganjosh