Python 在不推断数据类型的情况下创建数据帧

Python 在不推断数据类型的情况下创建数据帧,python,pandas,numpy,Python,Pandas,Numpy,我想从一个(大的)列表(内部列表是行)创建一个数据帧pd.DataFrame(lst,columns=my_columns)通常会执行此操作,但我希望自定义生成的数据帧的数据类型。一些列可以以较低的精度存储(np.float32),其他列是实际表示时间戳的整数(以numpy表示,例如,my_ts=np.datetime64(my_int,'ns'))。不幸的是,DataFrame构造函数只允许指定一个数据类型。有没有其他方法可以实现我想要的 当然,我可以将数据如下: df['some_col']

我想从一个(大的)列表(内部列表是行)创建一个数据帧
pd.DataFrame(lst,columns=my_columns)
通常会执行此操作,但我希望自定义生成的数据帧的数据类型。一些列可以以较低的精度存储(np.float32),其他列是实际表示时间戳的整数(以numpy表示,例如,
my_ts=np.datetime64(my_int,'ns')
)。不幸的是,DataFrame构造函数只允许指定一个数据类型。有没有其他方法可以实现我想要的

当然,我可以将数据如下:

df['some_col'] = df['some_col'].astype(desired_type)
但这需要大量复制,而且我的数据集相当大

当我们构造DataFrame时,pandas将python列表中的数据复制到用于推断类型的任何算法之上(推断类型的唯一安全方法是扫描整个数据集)。如果我们能够向它提示数据类型,我们就可以同时保存复制和数据类型推断