今天看到了pandas的两个之前没见过的方法,果断去试了一下,结果发现控制台报错说没有该方法。
我当时以为自己的python出问题了……后来仔细看了文档,发现是0.20版本新加的功能,用来代替 values方法的。
pandas返回或者得到的数据类型是series和dataFrame的,之前我们都是使用values方法来以array形式返回指定column的所有取值的。
但是values方法不能判断Series中含有扩展类型时,该返回array还是ExtensionArray
Series.array则只返回ExtensionArray,而且不会复制数据。
Series.to_numpy()则只返回NumPy数组,同时会复制数据,也会强制转换数据值。
当DataFrame含有多种数据类型时,DataFrame.values会复制数据并将数据的值强制转换为同一种数据类型,代价高。而to_numpy()则可以返回NumPy数组,同时不会把DataFrame中的数据都当做一种类型。
网友评论