本文實例講述了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']
同樣,對於列。
編碼踩坑的紀實