CĂłmo crear grĂĄficos de lĂ­neas interactivos con Pandas y Altair

. , . . [], — , . Python — Pandas Altair.





Altair , , Data Science, , ; Altair .






Pandas , Altair . Pandas , . , , Pandas .





. — . pandas-datareader. Google Colab Pandas.





import pandas as pd
from pandas_datareader import data
      
      



. , :





start = '2020-1-1'
end = '2020-12-31'
source = 'yahoo'
      
      



— :





apple = data.DataReader("AAPL", start=start ,end=end, data_source=source).reset_index()[["Date", "Close"]]
ibm = data.DataReader("IBM", start=start ,end=end, data_source=source).reset_index()[["Date", "Close"]]
microsoft = data.DataReader("MSFT", start=start ,end=end, data_source=source).reset_index()[["Date", "Close"]]
      
      



Apple, IBM Microsoft 2020 . . , , . , concat:





apple["Stock"] = "apple"
ibm["Stock"] = "ibm"
microsoft["Stock"] = "msft"
stocks["Month"] = stocks.Date.dt.month
stocks = pd.concat([apple, ibm, microsoft])
      
      



, . .





Altair

Altair — Python. , . Altair . Altair, . Altair, Altair 4 :





  • 1. .





  • 2. .





  • 3. .





  • 4. .





- :





alt.Chart(stocks).mark_line().encode(
   x="Date",
   y="Close",
   color="Stock"
).properties(
   height=300, width=500
)
      
      



. Pandas, URL, JSON CSV. (mark_circle, mark_line ).





encode Altair, . , , encode, . color, hue Seaborn. , properties .





Altair — , .





selection = alt.selection_multi(fields=["Stock"], bind="legend")
alt.Chart(stocks).mark_line().encode(
   x="Date",
   y="Close",
   color="Stock",
   opacity=alt.condition(selection, alt.value(1), alt.value(0.1))
).properties(
   height=300, width=500
).add_selection(
   selection
)
      
      



() , . . opacity, .





add_selection. , . . :





Altair . , , , . , , :





hover = alt.selection(
   type="single", on="mouseover", fields=["Stock"], nearest=True
)
      
      



, , , .





3 . . — , , . , . , :





# line plot
lineplot = alt.Chart(stocks).mark_line().encode(
   x="Date:T",
   y="Close:Q",
   color="Stock:N",
)
# nearest point
point = lineplot.mark_circle().encode(
   opacity=alt.value(0)
).add_selection(hover)
# highlight
singleline = lineplot.mark_line().encode(
   size=alt.condition(~hover, alt.value(0.5), alt.value(3))
)
      
      



, , :





point + singleline
      
      



, , . — .





Altair . , .





, - , . — . — Data Science, , , .





, :





  • Data Scientist





  • Data Analyst





  • Data Engineering









  • Fullstack- Python





  • Java-





  • QA- JAVA





  • Frontend-









  • C++





  • Unity





  • -





  • iOS-





  • Android-









  • Machine Learning





  • "Machine Learning Deep Learning"





  • " Data Science"





  • " Machine Learning Data Science"





  • "Python -"





  • " "









  • DevOps








All Articles