【发布时间】:2021-07-04 15:43:07
【问题描述】:
我正在尝试将 pandas 数据框中的值写入 csv 文件。示例代码如下。诸如均值、乘以 np.pi 之类的计算只是说明性的(实际工作会为某些参数生成 ndarray)。
我的问题是扁平化的 ndarray 被写入 csv 文件的同一行。我希望将它们写入单独的行,然后开始下一个参数的行。例如,在将 parameter2 的值写入行之后,写入 parameter3 的值。
谢谢
import pandas as pd
import numpy as np
data_list = []
parm_list = []
temp_dict = {}
# data
for i in range(1000):
n = np.random.randint(1,100)
data_list.append(n)
data_array = np.array(data_list)
data = np.split(data_array,100)
# parameters
for i in range(10):
parameter1 = np.mean(data[i])
parameter2 = data[i].reshape(5,2)*np.pi
parameter2_flat = parameter2.flatten()
parameter3 = np.median(data[i])
temp_dict = dict([('parameter1', parameter1), ('parameter2', parameter2_flat),('parameter3', parameter3)])
parm_list.append(temp_dict)
parm_df = pd.DataFrame(parm_list)
transposed_df = parm_df.T
transposed_df.to_csv('parameter.csv')
在此输出中,parameter2 值被写入数据框和 csv 文件的同一行。我希望将参数 2 值写在另一个下方(即在数据框和 csv 文件的不同行中)。在写入所有参数2的值后,必须将参数3的值写入下一行。
【问题讨论】:
-
是否 transposed_df.to_csv('parameter.csv', sep='\n') 工作或只是在文件末尾添加 \n
-
不确定我的问题是否正确,但请尝试上面的代码并告诉我
-
@pippo1980 感谢您的回复。但我希望将值以不同的格式写入。我已经编辑了问题并添加了屏幕截图和 cmets 以阐明要求。
标签: python pandas export-to-csv