Python:list 和 array的对比以及转换时的注意事项
前言
array,顾名思义,数组,就是存储数字、处理数字的一种数据结构。今天在将list转换为array时,遇到了一个问题,数据量比较大,刚开始怎么都不知道问题出在哪里。直到我用一个3*3的小数据测试时,才发现问题的本质所在。浪费了半天的时间,不过总算搞明白了。
学的不够踏实,以此警戒所有的初学者:多思考,遇到问题时从小数据入手测试!
说正事儿
1、list 转换为 array:
-
- list里的变量全是数值型时,array里也全是数值型。
-
- list里的变量既有数值型又有字符串类型时(即使只有一个元素是字符串型),array里就全都是字符串型。
因此,将含有字符串的list转换为array后,没有实际的价值,因为字符串型的变量无法像数字一样进行算术运算。
如,求均值,这一点恰恰就是出错的源头:
- 不含字符串型:
- 包含字符串型(出错):
2、 二维列表 list 不能按列截取,只能按行截取;二维数组 array可以按列截取数据,也可以按行截取
3、删除元素时,list和array都不能按列删除(想要删除某一列,就要遍历全部数据),只能逐元素删除。因此,如果数据量比较大,可以考虑生成新的数据。也可以考虑从 pandas DataFrame 中删除列。