-1
我期待通過從網絡中提取一系列數據的循環附加各種數據幀。函數ratios_funda
由它自己的工作正確,但我沒有找到一種方法來根據不同的代價來循環它,並將它們一個接一個地追加在空dataframe
。這是代碼。追加數據幀時掙扎
import pandas as pd
cartera = ['FB.O', 'SAN.MC','TRE.MC', 'BBVA.MC']
def ratios_funda(x):
rat1=x[2].loc[[1,7,8,10],:]
rat2=x[3].loc[[1,5],:]
rat3=x[5].loc[[1,2,4,5],:]
rat5=x[7].loc[[5,6],:]
rat6=x[8].loc[[1,7],:]
rats=[rat1,rat2,rat3,rat5,rat6]
df=pd.concat([df.set_index(df.columns[0]) for df in rats])
df.index.names=['Fundam ratios']
df.rename(columns={1:'Company',2:'Industry',3:'Sector'}, inplace=True)
df.index = df.index.str.strip()
return df
def resultados():
dataframe=pd.DataFrame()
for titulos in cartera:
ruta=pd.read_html('http://www.reuters.com/finance/
stocks/financialHighlights?symbol='+str(titulos),flavor='html5lib')
if dataframe.empty:
dataframe= ratios_funda(ruta)
else:
dataframe=pd.concat([dataframe, ratios_funda(ruta)],axis=1)
return dataframe
print(resultados())
它看起來像不循環。
它不起作用? – IanS
我發現的問題是試圖用不同的'ruta'循環第一個函數,並在'dataframe'中將它們追加到另一個之後。順便說一句,感謝你的版本LanS – ge00rge
代碼看起來很好乍一看。你有錯誤信息嗎? – IanS