# 19.1 pandas चे उपयोगी snippets

Source: https://ravindrabagale.com/mr/datascience/ch19-cheat-sheet/19-1-pandas-essentials.html
Language: mr (Marathi with English technical terms)

ही वेगवेगळ्या कामांची reference list आहे; संपूर्ण block एकच pipeline म्हणून run करू नका. df1, df2 आणि stores साठी आधी योग्य tables तयार असाव्या लागतात.

import pandas as pd
df = pd.read_csv("data/orders_clean.csv")
df.head(); df.info(); df.describe()
df.shape; df.dtypes; df.columns
df["city"]; df[["city", "amount"]]
df.loc[df["city"]=="Pune", ["amount", "status"]]
df.iloc[0:5, 0:3]
df[df["amount"] >= 200]
df[(df["city"]=="Pune") & (df["status"]=="Delivered")]
df[df["city"].isin(["Pune", "Nashik"])]
df["amount"].between(100, 500)
df.sort_values("amount", ascending=False)
df.nlargest(5, "amount")
df.groupby("city")["amount"].sum()
df.groupby("city", as_index=False).agg(gmv=("amount", "sum"), n=("order_id", "nunique"))
pd.concat([df1, df2], ignore_index=True)
df.merge(stores, on="store_id", how="left")
df.rename(columns={"Amount": "amount"})
df["city"] = df["city"].str.strip().str.title()
pd.to_numeric(df["amount"], errors="coerce")
pd.to_datetime(df["order_date"], dayfirst=True)
df.drop_duplicates(subset=["order_id"])
df.isna().sum(); df.fillna({"city": "Unknown"})
df.melt(id_vars="city", var_name="month", value_name="gmv")
pd.pivot_table(df, index="city", columns="status", values="amount", aggfunc="sum", fill_value=0)
pd.crosstab(df["city"], df["status"], margins=True)
df.to_csv("data/out.csv", index=False)

Read/inspect → select/filter → sort/group → concat/merge → clean → reshape → export हा क्रम लक्षात ठेवा. between boolean mask देतो; rows हव्या असतील तर तो df च्या brackets मध्ये वापरा.

रवींद्र बागले यांची tip

Rename, to_numeric किंवा drop_duplicates सारख्या calls चा result परत assign करावा लागू शकतो. फक्त output दिसलं म्हणजे मूळ df बदलला असं नाही.
