Pandas Read.csv以字符串形式返回数组

2024-09-28 22:07:46 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我一直在使用pandas将数据保存为.csv,当我将.csv加载回df时,它会将数组转换为字符串

例如:

v = np.linspace( 0, 1, 10)
i = []

for j in V:
    itemp = *some calc*
    i = i.append(itemp)
###

df_data = pd.DataFrame({'Vsd_res':[v], 'Isd_res':[i]})
df_res = df_res.append(df_data)
df_res = df_res.reset_index(drop = True)

df_res.to_csv(res.csv)

这将获取我的两个数组,并将它们以这种格式存储在my.csv中:

"[-0.5        -0.48989899 -0.47979798 ...]","[-6.835167e-05, -6.683581e-05, -6.678757e-05...]"

在这里,我想知道为什么Vsd存储时没有逗号,而Isd是

然后我将它们加载回:

df_res = pd.read_csv('res.csv', index_col = 0)

我得到的是:

     Vsd_res                                         Isd_res
0   [-0.5     -0.48989899     -0.47979798 ...]    [-6.835167e-05, -6.683581e-05, -6.678757e-05...]

我想要的是:

     Vsd_res                               Isd_res
0   [-0.5,-0.48989899,-0.47979798 ...]    [-6.835167e-05, -6.683581e-05, -6.678757e-05...]

这是我想要的方式,只是每个数组中的数据是str而不是float,这适用于V和Isd。Matplot无法打印它们,因为存在[1]

我曾尝试在转换器设置中使用eval,但我认为它存在缺少逗号的问题

我真的很感谢你在这方面的帮助。谢谢


Tags: csv数据字符串pandasdfdataindexres