-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