[docs]defload_retail(id="demo_retail_data",nrows=None,init_woodwork=True):"""Load a demo retail dataset into a DataFrame, optionally initializing Woodwork's typing information. Args: id (str, optional): The name to assign to the DataFrame, if returning a DataFrame with Woodwork typing information initialized. If not returning a DataFrame with Woodwork initialized, this will be ignored. Defaults to ``demo_retail_data``. nrows (int, optional): The number of rows to return in the dataset. If None, will return all possible rows. Defaults to None. init_woodwork (bool): If True, will return a pandas DataFrame with Woodwork typing information initialized. If False, will return a DataFrame without Woodwork initialized. Defaults to False. Returns: pd.DataFrame: A DataFrame containing the demo data with Woodwork typing initialized. If `init_woodwork` is False, will return an uninitialized DataFrame. """csv_s3_gz=("https://oss.alteryx.com/datasets/online-retail-logs-2018-08-28.csv.gz?library=woodwork&version="+ww.__version__)csv_s3=("https://oss.alteryx.com/datasets/online-retail-logs-2018-08-28.csv?library=woodwork&version="+ww.__version__)# Try to read in gz compressed filetry:df=pd.read_csv(csv_s3_gz,nrows=nrows,parse_dates=["order_date"])# Fall back to uncompressedexceptException:df=pd.read_csv(csv_s3,nrows=nrows,parse_dates=["order_date"])# Add unique column for indexdf.insert(0,"order_product_id",range(len(df)))ifinit_woodwork:logical_types={"order_product_id":Categorical,"order_id":Categorical,"product_id":Categorical,"description":NaturalLanguage,"quantity":Integer,"order_date":Datetime,"unit_price":Double,"customer_name":Categorical,"country":Categorical,"total":Double,"cancelled":Boolean,}df.ww.init(name=id,index="order_product_id",time_index="order_date",logical_types=logical_types,)returndf