python 將列表中的字符串轉爲數字格式,以及pandas Series或index轉換爲Numpy數組

本文實例講述了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']

同樣,對於列。

編碼踩坑的紀實
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章