{
"cells": [
{
"cell_type": "markdown",
"id": "09e245aa",
"metadata": {},
"source": [
"# Pandas DataFrame Examples with Plots\n",
"Pandas is a popular data manipulation library in Python"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "9db67c57",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "markdown",
"id": "b333e49e",
"metadata": {},
"source": [
"## Creating and Exploring Pandas DataFrames"
]
},
{
"cell_type": "markdown",
"id": "9a73534e",
"metadata": {},
"source": [
"The primary data structure in Pandas is the DataFrame, which represents tabular data. You can create a DataFrame from various data sources, such as CSV files, Excel files, SQL databases, or by using Python lists or dictionaries. \n",
"Here's an example of creating a DataFrame from a Python dictionary:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "8bd230c2",
"metadata": {},
"outputs": [],
"source": [
"data = {'Name': ['Alice', 'Bob', 'Charlie', 'Tom', 'Eve', 'Frank'],\n",
" 'Age': [25, 30, 35, 42, 51, 60],\n",
" 'City': ['New York', 'London', 'Paris', 'New York', 'London', 'Tokyo']}\n",
"df = pd.DataFrame(data)"
]
},
{
"cell_type": "markdown",
"id": "4dec4a08",
"metadata": {},
"source": [
"## Viewing the data"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "9fcd1e41",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Name | \n",
" Age | \n",
" City | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" Alice | \n",
" 25 | \n",
" New York | \n",
"
\n",
" \n",
" 1 | \n",
" Bob | \n",
" 30 | \n",
" London | \n",
"
\n",
" \n",
" 2 | \n",
" Charlie | \n",
" 35 | \n",
" Paris | \n",
"
\n",
" \n",
" 3 | \n",
" Tom | \n",
" 42 | \n",
" New York | \n",
"
\n",
" \n",
" 4 | \n",
" Eve | \n",
" 51 | \n",
" London | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Age City\n",
"0 Alice 25 New York\n",
"1 Bob 30 London\n",
"2 Charlie 35 Paris\n",
"3 Tom 42 New York\n",
"4 Eve 51 London"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head() # Returns the first few rows of the DataFrame.\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "04dbe70c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Name | \n",
" Age | \n",
" City | \n",
"
\n",
" \n",
" \n",
" \n",
" 3 | \n",
" Tom | \n",
" 42 | \n",
" New York | \n",
"
\n",
" \n",
" 4 | \n",
" Eve | \n",
" 51 | \n",
" London | \n",
"
\n",
" \n",
" 5 | \n",
" Frank | \n",
" 60 | \n",
" Tokyo | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Age City\n",
"3 Tom 42 New York\n",
"4 Eve 51 London\n",
"5 Frank 60 Tokyo"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Returns the last few rows of the DataFrame.\n",
"df.tail(3) \n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "3cc77f8f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(6, 3)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Returns the dimensions of the DataFrame (number of rows, number of columns).\n",
"df.shape \n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "f9ad1ec3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Name', 'Age', 'City'], dtype='object')"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Returns the column names of the DataFrame.\n",
"df.columns "
]
},
{
"cell_type": "markdown",
"id": "dbc7451a",
"metadata": {},
"source": [
"## Accessing and selecting data"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "44477572",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 Alice\n",
"1 Bob\n",
"2 Charlie\n",
"3 Tom\n",
"4 Eve\n",
"5 Frank\n",
"Name: Name, dtype: object"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Accesses a specific column by name.\n",
"# df['ColumnName'] \n",
"\n",
"df['Name'] "
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "b8d8336a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Alice'"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Accesses a specific element using row index and column name.\n",
"# df.loc[row_index, column_name] \n",
"\n",
"df.loc[0, 'Name'] "
]
},
{
"cell_type": "markdown",
"id": "d69a33a5",
"metadata": {},
"source": [
"## Data summary"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "eb0ec27e",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Age | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" 6.000000 | \n",
"
\n",
" \n",
" mean | \n",
" 40.500000 | \n",
"
\n",
" \n",
" std | \n",
" 13.217413 | \n",
"
\n",
" \n",
" min | \n",
" 25.000000 | \n",
"
\n",
" \n",
" 25% | \n",
" 31.250000 | \n",
"
\n",
" \n",
" 50% | \n",
" 38.500000 | \n",
"
\n",
" \n",
" 75% | \n",
" 48.750000 | \n",
"
\n",
" \n",
" max | \n",
" 60.000000 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Age\n",
"count 6.000000\n",
"mean 40.500000\n",
"std 13.217413\n",
"min 25.000000\n",
"25% 31.250000\n",
"50% 38.500000\n",
"75% 48.750000\n",
"max 60.000000"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "2fcbc7d2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Alice 1\n",
"Bob 1\n",
"Charlie 1\n",
"Tom 1\n",
"Eve 1\n",
"Frank 1\n",
"Name: Name, dtype: int64"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Counts unique values in a column\n",
"# df['ColumnName'].value_counts()\n",
"\n",
"df['Name'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "8cb0e141",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"City\n",
"London 40.5\n",
"New York 33.5\n",
"Paris 35.0\n",
"Tokyo 60.0\n",
"Name: Age, dtype: float64"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Groups data by a column and calculates the mean of Age for each group\n",
"# df.groupby('ColumnName').mean()\n",
"\n",
"df.groupby('City')['Age'].mean()"
]
},
{
"cell_type": "markdown",
"id": "0f10db66",
"metadata": {},
"source": [
"## Data manipulation"
]
},
{
"cell_type": "raw",
"id": "ba9bef94",
"metadata": {},
"source": [
"df['NewColumn'] = ... - Creates a new column based on existing data or calculations. \n",
"df.drop('ColumnName', axis=1) - Removes a column from the DataFrame. \n",
"df.sort_values('ColumnName') - Sorts the DataFrame by a column. \n",
"df.fillna(value) - Fills missing values with a specified value. "
]
},
{
"cell_type": "markdown",
"id": "89793f9a",
"metadata": {},
"source": [
"## Reading and Writing Data"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "1645ed3e",
"metadata": {},
"outputs": [],
"source": [
"# write the DataFrame to a csv file\n",
"df.to_csv(\"myfile.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "06eadc0a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Unnamed: 0 | \n",
" Name | \n",
" Age | \n",
" City | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0 | \n",
" Alice | \n",
" 25 | \n",
" New York | \n",
"
\n",
" \n",
" 1 | \n",
" 1 | \n",
" Bob | \n",
" 30 | \n",
" London | \n",
"
\n",
" \n",
" 2 | \n",
" 2 | \n",
" Charlie | \n",
" 35 | \n",
" Paris | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" Tom | \n",
" 42 | \n",
" New York | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" Eve | \n",
" 51 | \n",
" London | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unnamed: 0 Name Age City\n",
"0 0 Alice 25 New York\n",
"1 1 Bob 30 London\n",
"2 2 Charlie 35 Paris\n",
"3 3 Tom 42 New York\n",
"4 4 Eve 51 London"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Read a csv file into a Pandas DataFrame\n",
"df2 = pd.read_csv(\"myfile.csv\")\n",
"df2.head()"
]
},
{
"cell_type": "markdown",
"id": "e15dcf66",
"metadata": {},
"source": [
"# Plotting examples\n",
"Pandas provides convenient integration with Matplotlib, a popular plotting library in Python. Here are a few examples of data plotting using Pandas"
]
},
{
"cell_type": "markdown",
"id": "ac20da12",
"metadata": {},
"source": [
"## Line Plot\n",
"You can create a line plot using the plot method of a DataFrame. Here's an example of plotting a line graph to visualize the trend of a numerical column over time:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "7b3aacc2",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"plt.rcParams.update({'font.size': 20, 'figure.figsize': [14,10]})\n",
"\n",
"# Create a DataFrame with time-series data\n",
"data = {'Date': ['2022-01-01', '2022-02-01', '2022-03-01', '2022-04-01'],\n",
" 'Value': [10, 20, 15, 25]}\n",
"df = pd.DataFrame(data)\n",
"\n",
"# Convert the 'Date' column to datetime type\n",
"df['Date'] = pd.to_datetime(df['Date'])\n",
"\n",
"# Plot the line graph\n",
"plt.plot(df['Date'], df['Value'])\n",
"plt.xlabel('Date')\n",
"plt.ylabel('Value')\n",
"plt.title('Line Plot')\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"id": "23f9c3a2",
"metadata": {},
"source": [
"## Bar Plot\n",
"Pandas makes it easy to create bar plots using the plot method. Here's an example of plotting a bar chart to compare values in different categories:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "23944375",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Create a DataFrame with categorical data\n",
"data = {'Category': ['A', 'B', 'C', 'D'],\n",
" 'Value': [10, 20, 15, 25]}\n",
"df = pd.DataFrame(data)\n",
"\n",
"# Plot the bar chart\n",
"plt.bar(df['Category'], df['Value'])\n",
"plt.xlabel('Category')\n",
"plt.ylabel('Value')\n",
"plt.title('Bar Plot')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "2577cf67",
"metadata": {},
"source": [
"## Histogram\n",
"Pandas provides a simple way to create histograms using the plot method. Here's an example of plotting a histogram to visualize the distribution of a numerical column:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "9fa7fb57",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Create a DataFrame with numerical data\n",
"data = {'Value': [10, 20, 15, 25, 30, 40, 35, 50]}\n",
"df = pd.DataFrame(data)\n",
"\n",
"# Plot the histogram\n",
"df['Value'].plot.hist(bins=10) # 'bins' specifies the number of bins or intervals\n",
"plt.xlabel('Value')\n",
"plt.ylabel('Frequency')\n",
"plt.title('Histogram')\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ffeb79fd",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}