主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

MATLAB 表格和 Pandas DataFrames 之间转换

MATLAB® Compiler SDK™ 支持在表格和 Pandas DataFrames 之间进行转换。此过程还会隐式地转换 DataFrame 或表中的数据。当 DataFrames 的索引为 datetime 对象时,DataFrames 也可以转换为时间表,反之亦然。要将 MATLAB 和 Python® 之间的其他数据类型进行转换,请参阅在 MATLAB 和 Python 之间传递数据。有关 MATLAB 表与 Pandas DataFrame 之间转换的示例,请参阅使用 MATLAB Compiler SDK 处理 Pandas DataFrames

注意

MATLAB Compiler SDK 仅支持 DataFrames 的单级转换。它不支持递归嵌套。例如,您可以创建一个名为 df1 的 DataFrame,其中包含另一个名为 df2 的 DataFrame,并将其转换为表格。但是,如果 df2 包含另一个 DataFrame df3,则无法转换 df1

将 DataFrames 转换为表格

下面的列表包含所有在 Pandas DataFrame 中包含时可转换为 MATLAB 表的数据类型。

Python 数据类型

NumPy 数据类型

Pandas 数据类型

生成的 MATLAB 数据类型

 numpy.float64pandas.Float64double
 numpy.float32pandas.Float32single
 numpy.uint8 pandas.UInt8uint8
 numpy.uint16pandas.UInt16uint16
 numpy.uint32pandas.UInt32uint32
 numpy.uint64pandas.UInt64uint64
 numpy.int8pandas.Int8int8
 numpy.int16pandas.Int16int16
 numpy.int32pandas.Int32int32
 numpy.int64pandas.Int64int64
 numpy.complex64numpy.complex128complex (single, double)
bool  logical
  pandas.Categoricalcategorical
 numpy.datetime64pandas.Timestampdatetime
 numpy.timedelta64pandas.Timedeltaduration
 

object

objectstring(如果数组的元素为字符串,否则不支持)
str pandas.StringDtypestring

序列(例如:tuplelist

  cell
dict  struct
  pandas.DataFrametable
  datetimepandas.DataFrametimetable

将表格转换为 DataFrames

下面的列表包含所有在 MATLAB 表中包含时,可转换为 Pandas DataFrame 的数据类型。

MATLAB 数据类型生成的 Numpy 或 Pandas 数据类型
doublenumpy.float64
singlenumpy.float32
uint8numpy.uint8
uint16numpy.uint16
uint32numpy.uint32
uint64numpy.uint64
int8numpy.int8
int16numpy.int16
int32numpy.int32
int64numpy.int64
complex (single) numpy.complex64,
complex(double)numpy.complex128
logicalbool
categoricalpandas.Categorical
datetimenumpy.datetime64
durationnumpy.timedelta64
stringstring,但整个系列的类型将为 object
cellstrstring,但整个系列的类型将为 object
cell

结果类型因 cell 数组中的元素而异,但整个 Series 的类型为 object

struct

dict,但整个系列的类型将为 object

dictionary

matlab.dictionary,但整个系列的类型将为 object

tablepandas.DataFrame
timetable带日期时间索引的 pandas.DataFrame

另请参阅

主题