#python #pandas
#python #pandas
Вопрос:
Я новичок в программировании, и мне нужна помощь в построении данных, которые я извлекаю из Интернета. Я полагаю, что проблема, с которой я сталкиваюсь, заключается в том, что тип данных, который я пытаюсь отобразить, неверен, но у меня возникают проблемы с преобразованием их в правильные типы (доходы -> целое число и даты -> строка / datetime). Любая помощь была бы с благодарностью принята! Я включил свой код ниже, если это поможет. Спасибо!
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
import lxml
from lxml import html
import requests
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
symbol = input('Enter Ticker: ') #Use AAPL/GOOG/any US based stock ticker you might know
#Balance Sheet Scrape
url_BS = 'https://finance.yahoo.com/quote/' symbol '/balance-sheet?p=' symbol
page_BS = requests.get(url_BS, verify=False)
tree_BS = html.fromstring(page_BS.content)
table_BS = tree_BS.xpath('//table')
assert len(table_BS) == 1
df_BS = pd.read_html(lxml.etree.tostring(table_BS[0], method='html'))[0]
#BS End
#Profitamp;Loss Scrape
url_PL = 'https://finance.yahoo.com/quote/' symbol '/financials?p=' symbol
page_PL = requests.get(url_PL, verify=False)
tree_PL = html.fromstring(page_PL.content)
table_PL = tree_PL.xpath('//table')
assert len(table_PL) == 1
df_PL = pd.read_html(lxml.etree.tostring(table_PL[0], method='html'))[0]
#PL End
#Cash Flow Scrape
url_CF = 'https://finance.yahoo.com/quote/' symbol '/cash-flow?p=' symbol
page_CF = requests.get(url_CF, verify=False)
tree_CF = html.fromstring(page_CF.content)
table_CF = tree_CF.xpath('//table')
assert len(table_CF) == 1
df_CF = pd.read_html(lxml.etree.tostring(table_CF[0], method='html'))[0]
#CF End
df_BS
df_PL
df_CF
#Here is my problem: When I scrap the table into pandas.dataframe it returns outputs as "objects".
#I believe that Matplotlib can only plot integers and strings(?).
#The problem is, i don't know how to convert just a slice of an index (df_PL.iloc[]) into those things
date = (df_PL.iloc[0:1,1:5].values.T.tolist())
print(date)
rev = (df_PL.iloc[1:2,1:5].values.T.tolist())
print(rev)
plot(date,rev)