<jupyter_start><jupyter_text>Ex2 - Getting and Knowing your Data This time we are going to pull data directly from the internet.Special thanks to: https://github.com/justmarkham for sharing the dataset and materials. Step 1. Import the necessary libraries<jupyter_code>import pandas as pd<jupyter_output><empty_output><jupyter_text>Step 2. Import the dataset from this [address](https://raw.githubusercontent.com/justmarkham/DAT8/master/data/chipotle.tsv).<jupyter_code># variable: zona en memoria que almacena un/unos datos
# Tipo de datos: numeros, textos, listas, booleanos (verdadero o falso),.....
url="https://raw.githubusercontent.com/justmarkham/DAT8/master/data/chipotle.tsv"
ejercicio1 = pd.read_csv(url, sep = "\t")
# \ -> Caracter de escape

ejercicio1<jupyter_output><empty_output><jupyter_text>Step 3. Assign it to a variable called chipo.<jupyter_code>chipo = ejercicio1<jupyter_output><empty_output><jupyter_text>Step 4. See the first 10 entries<jupyter_code>chipo[:10]<jupyter_output><empty_output><jupyter_text>Step 5. What is the number of observations in the dataset?<jupyter_code># Solution 1
len(chipo)
# Solution 2
chipo.shape[0]<jupyter_output><empty_output><jupyter_text>Step 6. What is the number of columns in the dataset?<jupyter_code>chipo.shape[1]<jupyter_output><empty_output><jupyter_text>Step 7. Print the name of all the columns.<jupyter_code>chipo.columns<jupyter_output><empty_output><jupyter_text>Step 8. How is the dataset indexed?<jupyter_code>chipo.index<jupyter_output><empty_output><jupyter_text>Step 9. Which was the most-ordered item?<jupyter_code>most_ordered = chipo.groupby("item_name").aggregate({
    'quantity': 'sum'
}).sort_values(by="quantity", ascending = False)


most_ordered_name = most_ordered.index[0]

most_ordered_name<jupyter_output><empty_output><jupyter_text>Step 10. For the most-ordered item, how many items were ordered?<jupyter_code>most_ordered_quantity = most_ordered.iloc[0][0]
most_ordered_quantity<jupyter_output><empty_output><jupyter_text>Step 11. What was the most ordered item in the choice_description column?<jupyter_code>most_ordered_choice = chipo.groupby("choice_description").aggregate({
    'quantity': 'sum'
}).sort_values(by="quantity", ascending = False)

most_ordered_choice.index[0]<jupyter_output><empty_output><jupyter_text>Step 12. How many items were orderd in total?<jupyter_code>most_ordered_choice.iloc[0][0]<jupyter_output><empty_output><jupyter_text>Step 13. Turn the item price into a float  Step 13.a. Check the item price type<jupyter_code>chipo["item_price"]<jupyter_output><empty_output><jupyter_text>Step 13.b. Create a lambda function and change the type of item price<jupyter_code>chipo["item_price"] = pd.to_numeric(chipo["item_price"].apply(lambda x: x[1:]))<jupyter_output><empty_output><jupyter_text>Step 13.c. Check the item price type<jupyter_code>chipo["item_price"]

#pd.to_numeric(chipo["item_price"].str.slice(1))<jupyter_output><empty_output><jupyter_text>Step 14. How much was the revenue for the period in the dataset?<jupyter_code>chipo["item_price"].sum()<jupyter_output><empty_output><jupyter_text>Step 15. How many orders were made in the period?<jupyter_code>len(chipo.groupby("order_id"))<jupyter_output><empty_output><jupyter_text>Step 16. What is the average revenue amount per order?<jupyter_code># Solution 1
chipo.groupby("order_id").aggregate({
    'item_price': 'sum'
}).mean()

# Solution 2<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1175789168838691, 'fraction_numerical': 0.015348971908485375, 'mean_word_length': 8.137566137566138, 'pattern_counts': {'":': 0, '<': 73, '<?xml version=': 0, '>': 74, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '18', 'dir': 'jupyter-structured-clean-dedup', 'id': '174684', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 1271, 'n_tokens_neox': 1217, 'n_words': 253, 'path': '01_Getting_&_Knowing_Your_Data/Chipotle/Exercises.ipynb', 'repo_name': 'Anaquintb/pandas_exercises', 'size': '3453'}