2015-01-29 7 views
5

Ich habe diese einfache Linie Skript:Verwenden Sie die erste Zeile als Spaltennamen? Pandas read_html

from pandas import read_html 

print read_html('http://money.cnn.com/data/hotstocks/', flavor = 'bs4') 

Welche arbeitet, in Ordnung, aber die Spaltennamen fehlen, werden sie als 1 identifiziert, 2, 3. Gibt es eine einfache Möglichkeit, Pandas zu sagen, die erste Zeile als Spaltennamen verwenden? Ich weiß, ich könnte die Namen einfach als Liste speichern und sie setzen, und dann die erste Zeile überspringen, aber ich frage mich, ob es einen leichteren/besseren Weg gibt.

Derzeit druckt:

      0  1  2   3 
0     Company Price Change % Change 
1    AAPL Apple Inc 115.31 +6.17 +5.65% 
2 BAC Bank of America Corp 15.20 -0.43 -2.75% 
3   YHOO Yahoo! Inc 46.46 -1.53 -3.19% 
4  MSFT Microsoft Corp 41.19 -1.47 -3.45% 
5   FB Facebook Inc 76.24 +0.46 +0.61% 
6  GE General Electric Co 23.84 -0.54 -2.21% 
7     T AT&T Inc 32.68 -0.13 -0.40% 
8   F Ford Motor Co 14.46 -0.24 -1.63% 
9   INTC Intel Corp 33.78 -0.41 -1.20% 
10 CSCO Cisco Systems Inc 26.80 -0.09 -0.35% 

Antwort

8

‚read_html` einen Header-Parameter hat. Sie können einen Zeilenindex übergeben:

read_html('http://money.cnn.com/data/hotstocks/', header =0, flavor = 'bs4') 

Bemerkenswert diese Einschränkung in der Dokumentation:

Zum Beispiel könnten Sie manuell müssen Spaltennamen zuweisen, wenn die Spaltennamen zu NaN umgewandelt werden, wenn Sie übergeben der Header = 0 Argument

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.io.html.read_html.html

Verwandte Themen