如何从.csv中存储的熊猫数据框中读取np矩阵?

时间:2019-10-30 16:36:54

标签: python pandas dataframe matrix np

我试图从.csv中的另一个熊猫数据帧存储中读取一个np.matrix和一个熊猫数据帧

我尝试使用文字评估,但它不起作用。

Etapa=pd.read_csv(f"data/etapas.csv",encoding="latin_1")
from ast import literal_eval
Etapa.loc[:,"Etapa"]=Etapa.Etapa.map(literal_eval)
Etapa.loc[:,"MatrizTiempos"]=Etapa.MatrizTiempos.apply(literal_eval)
Etapa.loc[:,"DataFrameEscuelas"]=Etapa.DataFrameEscuelas.map(literal_eval)

出现的错误是这样的:

文件“”,第1行     [[0。 0. 0. 0.]           ^ SyntaxError:语法无效

1 个答案:

答案 0 :(得分:0)

现在,您有一个__init__的字符串表示形式,语法不正确:

list

我假设存在小数,因为可能会有浮点数:

from ast import literal_eval

x = '[[0. 0. 0.], [1. 1. 1.]]'
literal_eval(x)
  File "<unknown>", line 1
    [0. 0. 0.]
         ^
SyntaxError: invalid syntax

将其转换为您的数据框实现:

from ast import literal_eval

x = '[[0. 0. 0.], [1. 1. 1.], [1.3 4.4 5.5]]'

literal_eval(''.join( # join back string fragments
    ', '.join(
        a.split(' ') # split on whitespace and join on commas
    ) for a in x.split(',')
))

[[0, 0, 0], [1, 1, 1], [1.3, 4.4, 5.5]]