├── 1. pandas.md
├── 2. numpy.md
├── 3. matplotlib.md
└── README.md
/1. pandas.md:
--------------------------------------------------------------------------------
1 | # Data Science Learning Repository(Pandas)
2 |
3 | **Table of Contents**
4 | - [BASICS OF PANDAS](#basics-of-pandas)
5 | - [What is Pandas?](#what-is-pandas)
6 | - [Package Installation](#package-installation)
7 | - [Import numpy package](#import-numpy-package)
8 | - [Creating a series from array](#creating-a-series-from-array)
9 | - [Creating a series from list](#creating-a-series-from-list)
10 | - [Creating a series from dictionary](#creating-a-series-from-dictionary)
11 | - [Accessing elements from series with position](#accessing-elements-from-series-with-position)
12 | - [Accessing Element Using Label (index)](#accessing-element-using-label-index)
13 | - [To find the maximum value](#to-find-maximum-value)
14 | - [Pandas DataFrame](#pandas-dataframe)
15 | - [Creating a data frame using List](#creating-a-data-frame-using-list)
16 | - [Creating a dataframe from dictionary](#creating-a-dataframe-from-dictionary)
17 | - [DataFrames - Adding and Deleting Columns](#dataframes-adding-and-deleting-columns)
18 | - [DataFrames - Filtering and Querying](#dataframes-filtering-and-querying)
19 | - [DataFrames - Grouping and Aggregating](#dataframes-grouping-and-aggregating)
20 | - [DataFrames - Merging and Joining](#dataframes-merging-and-joining)
21 | - [DataFrames - Reading and Writing Data](#dataframes-reading-and-writing-data)
22 |
23 |
24 | ## BASICS OF PANDAS
25 |
26 | ### What is Pandas?
27 |
28 | - Pandas is an open source python library providing high performance data manipulation and analysis tool using its powerful data structure. Pandas is the backbone for most of the data projects.
29 |
30 | - Through pandas , you get acquainted with your data by cleaning,transforming and analyzing it.
31 | - Python with pandas is used in a wide range of fields including academic and commercial domains including finance,economics,Statistics,analytics,etc.
32 |
33 | - Pandas generally provide two data structure for manipulating data, They are:
34 |
35 | Series
36 | DataFrame
37 |
38 | ### Package Installation
39 | ```pip install pandas```
40 |
41 | ### Importing numpy package
42 | ```python
43 | import pandas as pd
44 | ```
45 | > With the above import statement, you can access pandas functions using the pd.
46 |
47 | **Creating a series from array**
48 | ```python
49 | import pandas as pd
50 | import numpy as np
51 | data = np.array(['p','y','t','h','o','n'])
52 | ser = pd.Series(data)
53 | print(ser)
54 | ```
55 |
56 | **Creating a series from list**
57 |
58 | ```python
59 | import pandas as pd
60 | list = ['p', 'y', 't', 'h', ‘o', 'n']
61 | ser = pd.Series(list)
62 | print(ser)
63 | ```
64 |
65 | **Creating a series from dictionary**
66 | ```python
67 | import pandas as pd
68 | dictionary = {'A' : 10, 'B' : 20, 'C' : 30}
69 | series = pd.Series(dictionary)
70 | print(series)
71 | ```
72 |
73 | **Accessing elements from series with position**
74 | ```python
75 | import pandas as pd
76 | import numpy as np
77 | data = np.array(['p','y','t','h','o','n', 'p','r','o','g','r','a','m'])
78 | ser = pd.Series(data)
79 | print(ser[:5])
80 | ```
81 |
82 | **Accessing Element Using Label (index)**
83 | ```python
84 | import pandas as pd
85 | import numpy as np
86 | data = np.array(['p','y','t','h','o','n'])
87 | ser = pd.Series( data, index=[10,11,12,13,14,15])
88 | print(ser)
89 | print(ser[12])
90 | ```
91 |
92 | **To find maximum value**
93 | ```python
94 | import pandas as pd
95 | sr = pd.Series([10, 25, 3, 25, 24, 6],index=['Coca Cola', 'Sprite', 'Coke', 'Fanta','Dew', ‘ThumbsUp‘])
96 | print(sr)
97 | result=max(sr)
98 | print(result)
99 | ```
100 |
101 |
102 | ## Pandas data frame
103 | **What is DataFrame?**
104 |
105 | - Pandas DataFrame is two-dimensional size-mutable, potentially heterogeneous tabular data structure with labeled axes (rows and columns).
106 | - A Data frame is a two-dimensional data structure, i.e., data is aligned in a tabular fashion in rows and columns.
107 |
108 | **Creating a data frame using List**
109 | ```python
110 | import pandas as pd
111 | lst = ['data', 'visualization', 'using', 'python', 'and', 'r', 'programming']
112 |
113 | # converting list into data frame
114 | df = pd.DataFrame(lst)
115 | print(df)
116 | ```
117 |
118 | **Creating a dataframe from dictionary**
119 | ```python
120 | import pandas as pd
121 |
122 | # Create DataFrame
123 |
124 | data = {
125 | 'Name':['Tom', 'nick', ‘krish', 'jack'],
126 | 'Age':[20, 21, 19, 18]
127 | }
128 |
129 | df = pd.DataFrame(data)
130 | print(df)
131 | ```
132 | **DataFrames - Adding and Deleting Columns**
133 | ```python
134 | import pandas as pd
135 | #Create DataFrame
136 | data = {
137 | 'Name': ['Tom', 'Nick', 'Krish', 'Jack'],
138 | 'Age': [20, 21, 19, 18]
139 | }
140 |
141 | df = pd.DataFrame(data)
142 | print("Original DataFrame:")
143 | print(df)
144 |
145 | # Adding a new column
146 | df['Gender'] = ['M', 'M', 'M', 'M']
147 | print("\nDataFrame after adding 'Gender' column:")
148 | print(df)
149 |
150 | # Deleting a column
151 | df.drop('Age', axis=1, inplace=True)
152 | print("\nDataFrame after deleting 'Age' column:")
153 | print(df)
154 | ```
155 |
156 | **DataFrames - Filtering and Querying**
157 | ```python
158 | import pandas as pd
159 |
160 | # Create DataFrame
161 | data = {
162 | 'Name': ['Tom', 'Nick', 'Krish', 'Jack'],
163 | 'Age': [20, 21, 19, 18]
164 | }
165 |
166 | df = pd.DataFrame(data)
167 |
168 | # Filtering rows based on a condition
169 | filtered_df = df[df['Age'] >= 20]
170 | print("\nFiltered DataFrame:")
171 | print(filtered_df)
172 |
173 | # Querying the DataFrame using the query() method
174 | query_result = df.query('Age >= 20')
175 | print("\nQuery Result:")
176 | print(query_result)
177 | ```
178 |
179 | **DataFrames - Grouping and Aggregating**
180 | ```python
181 | import pandas as pd
182 |
183 | # Create DataFrame
184 | data = {
185 | 'Name': ['Tom', 'Nick', 'Krish', 'Jack', 'Tom', 'Nick'],
186 | 'Age': [20, 21, 19, 18, 20, 21],
187 | 'Score': [85, 90, 78, 82, 88, 92]
188 | }
189 |
190 | df = pd.DataFrame(data)
191 |
192 | # Grouping by 'Name' and calculating mean of 'Score'
193 | grouped_df = df.groupby('Name')['Score'].mean()
194 | print("\nGrouped DataFrame:")
195 | print(grouped_df)
196 |
197 | # Grouping by multiple columns and calculating multiple aggregations
198 | grouped_df_multiple = df.groupby(['Name', 'Age']).agg({'Score': ['mean', 'min', 'max']})
199 | print("\nGrouped DataFrame with multiple aggregations:")
200 | print(grouped_df_multiple)
201 | ```
202 |
203 | **DataFrames - Merging and Joining**
204 | ```python
205 | import pandas as pd
206 | # Create DataFrame 1
207 | data1 = {
208 | 'ID': [1, 2, 3, 4],
209 | 'Name': ['Tom', 'Nick', 'Krish', 'Jack']
210 | }
211 |
212 | df1 = pd.DataFrame(data1)
213 |
214 | # Create DataFrame 2
215 | data2 = {
216 | 'ID': [3, 4, 5, 6],
217 | 'Age': [20, 21, 19, 18]
218 | }
219 |
220 | df2 = pd.DataFrame(data2)
221 |
222 | # Merging DataFrames on 'ID'
223 | merged_df = pd.merge(df1, df2, on='ID', how='inner')
224 | print("\nMerged DataFrame:")
225 | print(merged_df)
226 |
227 | # Joining DataFrames on 'ID'
228 | joined_df = df1.set_index('ID').join(df2.set_index('ID'), how='inner')
229 | print("\nJoined DataFrame:")
230 | print(joined_df)
231 | ```
232 |
233 | **DataFrames - Reading and Writing Data**
234 | ```python
235 | import pandas as pd
236 | # Reading data from a CSV file
237 | csv_file = "data.csv"
238 | df = pd.read_csv(csv_file)
239 |
240 | # Display the first few rows of the DataFrame
241 | print("\nData from CSV:")
242 | print(df.head())
243 |
244 | # Writing data to a CSV file
245 | df.to_csv("output.csv", index=False)
246 |
247 | # Reading data from an Excel file
248 | excel_file = "data.xlsx"
249 | df_excel = pd.read_excel(excel_file)
250 |
251 | # Display the first few rows of the DataFrame
252 | print("\nData from Excel:")
253 | print(df_excel.head())
254 |
255 | # Writing data to an Excel file
256 | df_excel.to_excel("output.xlsx", index=False)
257 | ```
258 |
--------------------------------------------------------------------------------
/2. numpy.md:
--------------------------------------------------------------------------------
1 | # Data Science Learning Repository
2 |
3 | ## Table of Contents
4 | - [BASICS OF NUMPY](#basics-of-numpy)
5 | - [Package Installation](#package-installation)
6 | - [Importing numpy package](#importing-numpy-package)
7 | - [Creating a 1D array using numpy](#creating-a-1d-array-using-numpy)
8 | - [Creating a range of values using arange()](#creating-a-range-of-values-using-arange)
9 | - [Updating array values](#updating-array-values)
10 | - [Creating a 2D array using reshape()](#creating-a-2d-array-using-reshape)
11 | - [Indexing in arrays](#indexing-in-arrays)
12 | - [Boolean Indexing](#boolean-indexing)
13 | - [Slicing arrays](#slicing-arrays)
14 | - [Basic operations on single array](#basic-operations-on-single-array)
15 | - [Unary operators in numpy](#unary-operators-in-numpy)
16 | - [Array Shape and Size](#array-shape-and-size)
17 | - [Array Operations](#array-operations)
18 | - [Array Aggregation Functions](#array-aggregation-functions)
19 | - [Array Concatenation and Splitting](#array-concatenation-and-splitting)
20 |
21 | ## BASICS OF NUMPY
22 |
23 | **What is NumPy?**
24 | - Numpy is a general purpose array processing package. It provides a high performance multidimensional array object , and tools for working with these arrays. It is a fundamental package for scientific computing with python.
25 | - An array class in Numpy is called as ndarray
26 | - Elements in Numpy arrays are accessed by using square brackets and can be
27 | initialized by using nested Python Lists.
28 |
29 | ## Package Installation
30 | ```pip install numpy```
31 | > With the above import statement, you can access numpy functions using the np.
32 |
33 | ## Importing numpy package
34 | ```python
35 | import numpy as np
36 | ```
37 |
38 |
39 | **Creating a 1D array using numpy**
40 | ```python
41 | a = np.array([12, 78, 456, 90, 10])
42 |
43 | print("Array 'a':", a)
44 | ```
45 |
46 | **Creating a range of values using arange()**
47 | ```python
48 | b = np.arange(50)
49 |
50 | print("Array 'b':", b)
51 | ```
52 | **Updating array values**
53 | ```python
54 | c = [1, 2, 3, 4, 5]
55 |
56 | c[1] = 44
57 |
58 | print("Updated Array 'c':", c)
59 | ```
60 | **Creating a 2D array using reshape()**
61 | ```python
62 | d = np.arange(15).reshape(5, 3)
63 |
64 | print("2D Array 'd':\n", d)
65 | ```
66 | **Indexing in arrays**
67 | ```python
68 | e = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
69 |
70 | arr = e[np.array([1, 3, -3])]
71 |
72 | print("Indexed Array 'arr':", arr)
73 | ```
74 |
75 | **Boolean Indexing**
76 | ```python
77 | f = np.array([10, 40, 80, 50, 100])
78 |
79 | print("Elements greater than 50:", f[f > 50])
80 | ```
81 |
82 | **Slicing arrays**
83 | ```python
84 | g = np.arange(20)
85 |
86 | print("Sliced Array 'g':", g[-8:17:1])
87 |
88 | print("Sliced Array 'g':", g[10:])
89 | ```
90 |
91 | **Basic operations on single array**
92 | ```python
93 | h = np.array([1, 2, 5, 3])
94 |
95 | print("Adding 1 to every element:", h + 1)
96 |
97 | print("Subtracting 3 from each element:", h - 3)
98 |
99 | print("Multiplying each element by 10:", h * 10)
100 |
101 | print("Squaring each element:", h ** 2)
102 | ```
103 |
104 | **Unary operators in numpy**
105 | ```python
106 | i = np.array([[1, 5, 6], [4, 7, 2], [3, 1, 9]])
107 |
108 | print("Largest element is:", i.max())
109 |
110 | print("Row-wise maximum elements:", i.max(axis=1))
111 |
112 | print("Column-wise minimum elements:", i.min(axis=0))
113 |
114 | print("Sum of all array elements:", i.sum())
115 | ```
116 | **Array Shape and Size**
117 | ```python
118 | j = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
119 | print("Shape of 'j':", j.shape)
120 | print("Size of 'j':", j.size)
121 |
122 | reshaped_j = j.reshape(1, 9)
123 | print("Reshaped Array 'j':\n", reshaped_j)
124 |
125 | flattened_j = j.flatten()
126 | print("Flattened Array 'j':", flattened_j)
127 | ```
128 | **Array Operations**
129 | ```python
130 | k = np.array([1, 2, 3, 4])
131 | l = np.array([5, 6, 7, 8])
132 |
133 | result_add = k + l
134 | print("Addition Result:", result_add)
135 |
136 | result_sub = k - l
137 | print("Subtraction Result:", result_sub)
138 |
139 | result_mul = k * l
140 | print("Multiplication Result:", result_mul)
141 |
142 | result_div = k / l
143 | print("Division Result:", result_div)
144 |
145 | dot_product = np.dot(k, l)
146 | print("Dot Product:", dot_product)
147 | ```
148 | **Array Aggregation Functions**
149 | ```python
150 | m = np.array([[1, 5, 6], [4, 7, 2], [3, 1, 9]])
151 |
152 | print("Sum of all elements:", m.sum())
153 |
154 | print("Row-wise sum:", m.sum(axis=1))
155 |
156 | print("Minimum value:", m.min())
157 |
158 | print("Maximum value:", m.max())
159 |
160 | print("Mean:", m.mean())
161 |
162 | print("Median:", np.median(m))
163 |
164 | print("Standard Deviation:", m.std())
165 | ```
166 | **Array Concatenation and Splitting**
167 | ```python
168 | n = np.array([[1, 2], [3, 4]])
169 |
170 | o = np.array([[5, 6]])
171 |
172 | result_horizontal = np.concatenate((n, o.T), axis=1)
173 |
174 | print("Horizontal Concatenation:\n", result_horizontal)
175 |
176 |
177 | c = np.array([[7, 8]])
178 |
179 | result_vertical = np.concatenate((n, c), axis=0)
180 |
181 | print("Vertical Concatenation:\n", result_vertical)
182 |
183 |
184 | arr = np.arange(1, 10)
185 |
186 | split_arrays = np.split(arr, 3)
187 |
188 | print("Split Arrays:", split_arrays)
189 |
190 | ```
191 |
--------------------------------------------------------------------------------
/3. matplotlib.md:
--------------------------------------------------------------------------------
1 | ## Table of Contents
2 | - [BASICS OF MATPLOTLIB](#basics-of-matplotlib)
3 | - [What is Matplotlib?](#what-is-matplotlib)
4 | - [Package Installation](#package-installation)
5 | - [Import matplotlib package](#import-matplotlib-package)
6 | - [Line Plot](#line-plot)
7 | - [Scatter Plot](#scatter-plot)
8 | - [Bar Plot](#bar-plot)
9 | - [Histogram](#histogram)
10 | - [Pie Chart](#pie-chart)
11 | - [Box Plot](#box-plot)
12 | - [Heatmap](#heatmap)
13 | - [Subplots](#subplots)
14 | - [Customizing Plots](#customizing-plots)
15 | - [Saving Plots](#saving-plots)
16 |
17 | **Basics of Data Visualization using Python(MATPLOTLIB)**
18 |
19 | **BASICS OF MATPLOTLIB**
20 | - Matplotlib is a popular Python library used for creating high-quality, publication-ready visualizations of data.
21 | - It provides a wide range of plotting functions to visualize data in various formats.
22 | - It is widely used in data analysis, data science, and other fields for creating informative and visually appealing graphs and charts.
23 |
24 | **What is Matplotlib?**
25 | - Matplotlib is a comprehensive library for creating static, interactive, and animated visualizations in Python.
26 | - It is an open-source library that is well-integrated with NumPy, Pandas, and other scientific computing libraries in Python.
27 | - Matplotlib provides a flexible and easy-to-use interface for creating a wide variety of plots, such as line plots, scatter plots, bar plots, histograms, pie charts, box plots, heatmaps, and more.
28 |
29 | **Package installation**
30 |
31 | Before using Matplotlib, you need to install the library. If you are using pip, you can install it by running the following command in your terminal or command prompt:
32 | ```pip
33 | pip install matplotlib
34 | ```
35 | **Import matplotlib package**
36 |
37 | To use Matplotlib in your Python script or notebook, you need to import the library. The common convention is to import it as plt, which allows you to access its functions conveniently:
38 | ```python
39 | import matplotlib.pyplot as plt
40 | ```
41 | > With the above import statement, you can access Matplotlib's plotting functions using the plt.
42 |
43 | **Line Plot**
44 | ```python
45 | x = np.linspace(0, 10, 100)
46 | y = np.sin(x)
47 | plt.plot(x, y)
48 | plt.title('Simple Line Plot')
49 | plt.xlabel('X-axis')
50 | plt.ylabel('Y-axis')
51 | plt.show()
52 | ```
53 |
54 | **Scatter Plot**
55 | ```python
56 | x = np.random.rand(100)
57 | y = np.random.rand(100)
58 | plt.scatter(x, y)
59 | plt.title('Scatter Plot')
60 | plt.xlabel('X-axis')
61 | plt.ylabel('Y-axis')
62 | plt.show()
63 | ```
64 | **Bar Plot**
65 | ```python
66 | data = {'Apple': 30, 'Banana': 20, 'Orange': 25, 'Mango': 15, 'Grapes': 10}
67 | fruits = list(data.keys())
68 | quantity = list(data.values())
69 | plt.bar(fruits, quantity)
70 | plt.title('Bar Plot')
71 | plt.xlabel('Fruits')
72 | plt.ylabel('Quantity')
73 | plt.show()
74 | ```
75 | **Histogram**
76 | ```python
77 | data = np.random.randn(1000)
78 | plt.hist(data, bins=20)
79 | plt.title('Histogram')
80 | plt.xlabel('Data')
81 | plt.ylabel('Frequency')
82 | plt.show()
83 | ```
84 | **Pie Chart**
85 | ```python
86 | sizes = [30, 25, 20, 15, 10]
87 | labels = ['Apple', 'Banana', 'Orange', 'Mango', 'Grapes']
88 | plt.pie(sizes, labels=labels, autopct='%1.1f%%')
89 | plt.title('Pie Chart')
90 | plt.show()
91 | ```
92 | **Box Plot**
93 | ```python
94 | data = [np.random.normal(0, std, 100) for std in range(1, 4)]
95 | plt.boxplot(data, labels=['A', 'B', 'C'])
96 | plt.title('Box Plot')
97 | plt.xlabel('Groups')
98 | plt.ylabel('Values')
99 | plt.show()
100 | ```
101 | **Heatmap**
102 | ```python
103 | data = np.random.rand(5, 5)
104 | plt.imshow(data, cmap='viridis', interpolation='nearest')
105 | plt.colorbar()
106 | plt.title('Heatmap')
107 | plt.show()
108 | ```
109 | **Subplots**
110 | ```python
111 | x = np.linspace(0, 10, 100)
112 | y1 = np.sin(x)
113 | y2 = np.cos(x)
114 | plt.subplot(2, 1, 1)
115 | plt.plot(x, y1)
116 | plt.title('Subplots')
117 | plt.ylabel('sin(x)')
118 | plt.subplot(2, 1, 2)
119 | plt.plot(x, y2)
120 | plt.xlabel('x')
121 | plt.ylabel('cos(x)')
122 | plt.show()
123 | ```
124 | **Customizing Plots**
125 | ```python
126 | x = np.linspace(0, 10, 100)
127 | y = np.sin(x)
128 | plt.plot(x, y, label='sin(x)', color='b', linestyle='--', linewidth=2)
129 | plt.title('Customizing Plots')
130 | plt.xlabel('X-axis')
131 | plt.ylabel('Y-axis')
132 | plt.legend()
133 | plt.grid(True)
134 | plt.show()
135 | ```
136 | **Saving Plots**
137 | ```python
138 | x = np.linspace(0, 10, 100)
139 | y = np.sin(x)
140 | plt.plot(x, y)
141 | plt.title('Saving Plots')
142 | plt.xlabel('X-axis')
143 | plt.ylabel('Y-axis')
144 | plt.savefig('plot.png')
145 | plt.show()
146 | ```
147 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # My Data Science Learning Repository
2 |
3 | ## Table of Contents
4 | - [NumPy Basics](#numpy-basics)
5 | - [Pandas Basics](#pandas-basics)
6 | - [Matplotlib Basics](#matplotlib-basics)
7 |
8 | ## NumPy Basics
9 |
10 | In this section, I've learned the fundamentals of NumPy, a powerful library for numerical computing in Python. I've explored various array operations, mathematical functions, and data manipulation techniques using [NumPy](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md).
11 |
12 | - [BASICS OF NUMPY](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#basics-of-numpy)
13 | - [Package Installation](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#package-installation)
14 | - [Importing numpy package](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#importing-numpy-package)
15 | - [Creating a 1D array using numpy](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#creating-a-1d-array-using-numpy)
16 | - [Creating a range of values using arange()](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#creating-a-range-of-values-using-arange)
17 | - [Updating array values](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#updating-array-values)
18 | - [Creating a 2D array using reshape()](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#creating-a-2d-array-using-reshape)
19 | - [Indexing in arrays](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#indexing-in-arrays)
20 | - [Boolean Indexing](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#boolean-indexing)
21 | - [Slicing arrays](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#slicing-arrays)
22 | - [Basic operations on single array](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#basic-operations-on-single-array)
23 | - [Unary operators in numpy](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#unary-operators-in-numpy)
24 | - [Array Shape and Size](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#array-shape-and-size)
25 | - [Array Operations](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#array-operations)
26 | - [Array Aggregation Functions](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#array-aggregation-functions)
27 | - [Array Concatenation and Splitting](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/2.%20numpy.md#array-concatenation-and-splitting)
28 |
29 | ## Pandas Basics
30 |
31 | Pandas is a popular library for data manipulation and analysis. In this section, I've gained an understanding of how to work with DataFrames and Series, clean and preprocess data, and perform exploratory data analysis using [Pandas](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md).
32 |
33 | - [BASICS OF NUMPY](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#basics-of-numpy)
34 | - [BASICS OF PANDAS](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#basics-of-pandas)
35 | - [What is Pandas?](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#what-is-pandas)
36 | - [Package Installation](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#package-installation)
37 | - [Import numpy package](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#import-numpy-package)
38 | - [Creating a series from array](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#creating-a-series-from-array)
39 | - [Creating a series from list](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#creating-a-series-from-list)
40 | - [Creating a series from dictionary](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#creating-a-series-from-dictionary)
41 | - [Accessing elements from series with position](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#accessing-elements-from-series-with-position)
42 | - [Accessing Element Using Label (index)](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#accessing-element-using-label-index)
43 | - [To find the maximum value](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#to-find-maximum-value)
44 | - [Pandas DataFrame](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#pandas-dataframe)
45 | - [Creating a data frame using List](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#creating-a-data-frame-using-list)
46 | - [Creating a dataframe from dictionary](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#creating-a-dataframe-from-dictionary)
47 | - [DataFrames - Adding and Deleting Columns](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#dataframes-adding-and-deleting-columns)
48 | - [DataFrames - Filtering and Querying](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#dataframes-filtering-and-querying)
49 | - [DataFrames - Grouping and Aggregating](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#dataframes-grouping-and-aggregating)
50 | - [DataFrames - Merging and Joining](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#dataframes-merging-and-joining)
51 | - [DataFrames - Reading and Writing Data](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/1.%20pandas.md#dataframes-reading-and-writing-data)
52 |
53 | ## Matplotlib Basics
54 |
55 | Matplotlib is a versatile library for creating static, interactive, and animated visualizations in Python. In this section, I've learned the basics of data visualization and how to create various types of plots using [Matplotlib](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md).
56 |
57 | - [BASICS OF MATPLOTLIB](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#basics-of-matplotlib)
58 | - [What is Matplotlib?](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#what-is-matplotlib)
59 | - [Package Installation](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#package-installation)
60 | - [Import matplotlib package](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#import-matplotlib-package)
61 | - [Line Plot](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#line-plot)
62 | - [Scatter Plot](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#scatter-plot)
63 | - [Bar Plot](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#bar-plot)
64 | - [Histogram](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#histogram)
65 | - [Pie Chart](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#pie-chart)
66 | - [Box Plot](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#box-plot)
67 | - [Heatmap](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#heatmap)
68 | - [Subplots](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#subplots)
69 | - [Customizing Plots](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#customizing-plots)
70 | - [Saving Plots](https://github.com/BarathkumarJK/Learn-Data-Science/blob/main/3.%20matplotlib.md#saving-plots)
71 |
72 | ## Conclusion
73 |
74 | Thank you for visiting my Data Science Learning Repository! I hope you find the topics I've completed helpful in understanding the fundamentals of data science. I'm continually updating this repository with new topics and expanding my skills in the data science domain.
75 |
76 | Feel free to explore the individual topic directories for more details. If you have any questions or suggestions, please don't hesitate to contact me.
77 |
78 | Happy learning!
79 |
80 | > [barathkumarjk](https://github.com/barathkumarjk)
81 |
--------------------------------------------------------------------------------