Python 列表(df[';column';])和df[';column';]与列表()有什么区别?

Python 列表(df[';column';])和df[';column';]与列表()有什么区别?,python,pandas,list,Python,Pandas,List,当我需要数据帧列(1.0.1)中的列表时,我可以执行以下操作: df['column'].to_list() 或者我可以使用: list(df['column']) 这两种方案都很有效,但它们之间有什么区别? 一种方法比另一种好吗 list接收iterable并返回纯python列表。这是一种内置的python方法,可以将任何iterable转换为纯python列表 to_list是一种来自pandas核心对象类的方法,它将对象转换为纯pythonlist。不同之处在于,实现是由panda

当我需要数据帧列(
1.0.1
)中的列表时,我可以执行以下操作:

 df['column'].to_list()
或者我可以使用:

list(df['column'])
这两种方案都很有效,但它们之间有什么区别?

一种方法比另一种好吗

list
接收iterable并返回纯python列表。这是一种内置的python方法,可以将任何iterable转换为纯python列表

to_list
是一种来自pandas核心对象类的方法,它将对象转换为纯python
list
。不同之处在于,实现是由pandas核心开发人员完成的,他们可以根据自己的理解优化流程,和/或在转换中添加纯
列表(…)
无法实现的额外功能

比如说,

这基本上意味着
to_list
最终可能会使用普通的列表理解-类似于
list(…)
,但强制要求最终对象是panda的
datetime
类型,而不是python的datetime-;直接的纯
列表(…)
转换;或者使用
numpy
tolist()
实现


.

list()
是一个内置的Python函数,而
df.to\u list()
是一个数据帧便利函数。在IDE中运行一些
%%timeit
基准测试,看看其中一个是否比另一个运行得快。这主要用于
numpy数组
。尝试:
a=np。数组(1)
->
list(a)
将给您一个错误,而
a.tolist()
将返回一个标量。
def tolist(self):
    '''(...)
    '''
    if self.dtype.kind in ["m", "M"]:
        return [com.maybe_box_datetimelike(x) for x in self._values]
    elif is_extension_array_dtype(self._values):
        return list(self._values)
    else:
        return self._values.tolist()