🚨 ALL BUGS FIXED🚨 - Update to version 5.0
- Fully operational after new versions of pandas broke the restructuring pipe.
- Google API change, so the code was adjusted (again).
- The timerange can now be specified approximately.
- The region (geo) can now be specified.
This lightweight API solves the problem of getting only monthly-based data for large time series when collecting Google Trends data. No login required.
Install via PyPi:
$ pip install DailyTrends
>>> from DailyTrends.collect import collect_data
Queries are submitted in a gentle manner, which can be slow (but safe) for very large series.
>>> data = collect_data("AMD stock",start="2004-01-01", end="2019-07-06",
geo="", save=False, verbose=False)
>>> data.info()
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 5666 entries, 2004-01-01 to 2019-07-06
Freq: D
Data columns (total 1 columns):
AMD stock: (Worldwide) 5666 non-null float64
dtypes: float64(1)
memory usage: 88.5 KB
- The returned dataframe is already indexed and ready for storage/analysis.
- The end of the series defaults to "TODAY".
- The start of the series defaults to "2004-01-01".
- The geo parameter defaults to "", which yields global results.
# Plotting some rolling means of the daily data
>>> ax = data.rolling(10).mean().plot();
>>> data.rolling(25).mean().plot(ax=ax);
>>> data.rolling(50).mean().plot(ax=ax)
# In this case the historic prices of the stock
>>> import pandas as pd
>>> price_data = pd.read_csv("price_data.csv")
>>> merged = pd.merge(price_data, data,
left_index=True, right_index=True)
>>> merged[["AMD stock: (Worldwide)", "Open"]].rolling(30).mean().plot()
>>> data = collect_data(["Intel", "AMD"],start="2004-01-01", end="TODAY",
geo="DE", save=False, verbose=False)
- Add Tor-Network-based requests
This API is not supported by Google and is for experimental purposes only.