Python:list 和 array的对比以及转换时的注意事项

前言

array,顾名思义,数组,就是存储数字、处理数字的一种数据结构。今天在将list转换为array时,遇到了一个问题,数据量比较大,刚开始怎么都不知道问题出在哪里。直到我用一个3*3的小数据测试时,才发现问题的本质所在。浪费了半天的时间,不过总算搞明白了。

学的不够踏实,以此警戒所有的初学者:多思考,遇到问题时从小数据入手测试!

说正事儿

1、list 转换为 array:

    • list里的变量全是数值型时,array里也全是数值型。

img

    • list里的变量既有数值型又有字符串类型时(即使只有一个元素是字符串型),array里就全都是字符串型。

img

因此,将含有字符串的list转换为array后,没有实际的价值,因为字符串型的变量无法像数字一样进行算术运算。

如,求均值,这一点恰恰就是出错的源头:

  • 不含字符串型:

img

  • 包含字符串型(出错):

img

2、 二维列表 list 不能按列截取,只能按行截取;二维数组 array可以按列截取数据,也可以按行截取

img

3、删除元素时,list和array都不能按列删除(想要删除某一列,就要遍历全部数据),只能逐元素删除。因此,如果数据量比较大,可以考虑生成新的数据。也可以考虑从 pandas DataFrame 中删除列。

img

posted @ 2019-11-08 19:29  小小程序员ol  阅读(3467)  评论(0编辑  收藏  举报