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

问题描述

所以我一直使用 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)

这需要我的两个数组并将它们以这种格式存储在我的 .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.678757e-05...]

我想要的:

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

这种选择我想要的方式,只是每个数组中的数据是 str 而不是浮点数,这适用于 V 和 Isd。 Matplot 无法绘制它们,因为存在 [。

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

我真的很感激这方面的一些帮助。谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)