本文实例讲述了Python中列表元素转为数字的方法
分享给大家供大家参考,具体如下:
1.首先可以用循环来解决(直接粗暴)
举个栗子:
<1>有一个数字字符的列表:
numbers = ['2', '5', '130', '8']`
<2>想要把每个元素转换为数字:
numbers = [2, 5, 130, 8]
用一个循环来解决:
new_numbers = [];
for n in numbers:
new_numbers.append(int(n));
numbers = new_numbers;
2.有没有更简单的语句可以做到呢?
1.使用列表生成式
.numbers = [ int(x) for x in numbers ]
2. Python2.x,可以使用map函数
numbers = map(int, numbers)
3.如果是3.x,map返回的是map对象,当然也可以转换为List:
numbers = list(map(int, numbers))
4..还有一种比较复杂点:
for i, v in enumerate(numbers): numbers[i] = int(v)
额外(遇到的问题补充<踩坑>):
如何将pandas Series或index转换为Numpy数组?
1.要获取NumPy数组,您应该使用以下values属性:
In [1]: df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c']); df
A B
a 1 4
b 2 5
c 3 6
In [2]: df.index.values
Out[2]: array(['a', 'b', 'c'], dtype=object)
2.这可以访问数据的存储方式,因此无需进行转换。
注意:此属性也可用于许多其他pandas的对象。
In [3]: df['A'].values
Out[3]: Out[16]: array([1, 2, 3])
3.要将索引作为列表,请调用tolist:
In [4]: df.index.tolist()
Out[4]: ['a', 'b']
同样,对于列。
编码踩坑的纪实