2016-07-07 72 views
0

我有一些Unicode字符串數組,我需要將其移出並保存爲浮點數。迭代通過這個數組的低溫,當前溫度和高溫最簡單的方法是什麼?代碼如下:通過Unicode數組對浮點值進行迭代

import pandas as pd 
from bs4 import BeautifulSoup 
import requests 
import numpy as np 

#Arkansas State Plant Board Weather Web data 
url1 = "http://170.94.200.136/weather/Inversion.aspx" 
response1 = requests.get(url1) 

soup1 = BeautifulSoup(response1.content) 
table1 = soup1.find("table", id="MainContent_GridView1") 

data1 = pd.read_html(str(table1))[0] 

array1 = np.array(data1[0:5]) 
+1

爲什麼Unicode在這裏相關? – Tim

+2

這並未顯示OP已嘗試的示例。 – cwallenpoole

回答

1

首先,修改您的代碼以正確解析DataFrame標頭。

data1 = pd.read_html(str(table1),header=0)[0]

然後,轉換需要浮動,例如列。

data1['Low Temp (°F)'] = data1['Low Temp (°F)'].astype(float)

可以在這樣的大熊貓選擇列的子集:

data1[['Station','Low Temp (°F)','High Temp (°F)','Current Temp (°F)']].head() 

    Station Low Temp (°F) High Temp (°F) Current Temp (°F) 
0 Arkansas 74.9 88.9 88.9 
1 Ashley 75.0 92.0 91.6 
2 Bradley -9.6 91.5 91.4 
3 Chicot -40.2 -40.1 -40.2 
4 Cleveland 73.7 91.1 91.0 

然後,您可以使用iterrows()通過數據幀進行迭代。

+0

當我嘗試將列轉換爲浮點數時,我得到: KeyError:'低溫(\ xc2 \ xb0F)' –

+0

代碼在Python 3中工作,您沒有提到您的Python版本。 嘗試重命名列並刪除學位符號: 'data1.columns = ['Station','Low Temp(F)',...] – user666