This blog series is a general introduction about python pandas data structure, to know more about python we recommend visiting our Free course on Learning Python by killing zombies, also to know more about Python request library see here, to learn how to download a Youtube video using Python programming, see here.

# General Introduction about Python Pandas Data Structure

- Pandas is a Python Open Source library that provides tools for Data Analysis, data structures with high performance used in field of Finance, Economics, Statistics, Biotechnology etc.
- In Pandas you can explore three kinds of Data structures:
(Data Mutable but its Size Immutable, one dimensional database)**Series**(Data and its Size Mutable, two dimensional database)**DataFrames**(Data and its Size Mutable, three dimensional database)**Panel**- A
**Series is a one dimensional data**like a data of Even Numbers i.e, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20. It has a fixed size i.e, you cannot change the size of data which is 10 in the given example above but however you can change the data i.e, instead of 18 you can change it to 24. **DataFrame is a two dimensional**heterogeneous data whose both size and data itself can be changed. Ex: Data about Students in classroom, which can contain details like their Name, Age, Weight, Height, Parents name, Address etc.**Panel is a three dimensional**Heterogeneous data which is hard to represent in Graphical form but can be illustrated as contained of DataFrame. Panel Data and its size, both are Mutable.

# Python Pandas Data Structure: Series

In Pandas series which is a one dimensional data structure can be created using following constructor:

pandas.Series( data, index, dtype, copy)

The parameters of Pandas Series with description are explained as follows:

- data: can take various forms like ndarray, list or constants.
- index: it’s values should be unique and with same length as that of data.
- dtype: As in data type.
- copy: for copying data, by default it is False.

## Pandas Series Example

Creating pandas series and later print it.

import pandas as pd s = pd.Series([123,456,789,147,258,369,159,753,147,258,369],index = ['a','b','c','d','e','f','g','h','i','j','k']) print s

a 123 b 456 c 789 d 147 e 258 f 369 g 159 h 753 i 147 j 258 k 369 dtype: int64

# Python Pandas Data Structure: DataFrame

A Pandas DataFrame is a two dimensional heterogeneous data whose both size and data itself can be changed. Its **column are of different data types** and is **mutable**. One can perform** mathematical operations** as well in this two-dimensional data structure.

In Pandas DataFrame which is a two dimensional data structure can be created using following constructor:

pandas.DataFrame( data, index, columns, dtype, copy)

The parameters of Pandas DataFrame with description are explained as follows:

- data: can take various forms like ndarray, list or constants.
- index: used for row labels.
- columns: for column labels.
- dtype: As in data type of each column.
- copy: for copying data, by default it is False.

## Pandas DataFrame Example

Generating a random data with 4×4 and 4×1 column and rows.

import pandas as pd d = pd.DataFrame([['Rishabh',95], ['Tanya',98],['Santa',59],['Maria',89],['Jake',58]],columns=['Name','Marks']) print d

Name Marks 0 Rishabh 95 1 Tanya 98 2 Santa 59 3 Maria 89 4 Jake 58

# Python Pandas Data Structure: Panel

**Panel is a three dimensional** Heterogeneous data which is hard to represent in Graphical form but can be illustrated as contained of DataFrame. Being a 3D data, it has 3 panels, which are as follows:

- items: axis 0
- major_axis: axis 1
- minor_axis: axis 2

In Pandas Panel which is a three dimensional data structure can be created using following constructor:

pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)

The parameters of Pandas DataFrame with description are explained as follows:

- data: can take various forms like ndarray, list or constants.
- items: axis 0
- major_axis: axis 1
- minor_axis: axis 2
- dtype: As in data type of each column.
- copy: for copying data, by default it is False.

## Pandas Panel Example

Creating a data on Name and Marks obtained by 5 students in recent exam.

import pandas as pd import numpy as np data = {'Data1' : pd.DataFrame(np.random.randn(4, 4)), 'Data2' : pd.DataFrame(np.random.randn(4, 1))} p = pd.Panel(data) print p['Data1'] print p['Data2'] print p

0 1 2 3 0 -1.028867 1.165953 -1.337242 0.289351 1 -0.029509 -0.286931 -0.404673 1.055836 2 -1.091060 0.790604 -0.195462 -0.028688 3 0.150005 -1.097062 -1.396424 -0.521907 0 1 2 3 0 0.876145 NaN NaN NaN 1 0.789839 NaN NaN NaN 2 0.706054 NaN NaN NaN 3 0.887317 NaN NaN NaN <class 'pandas.core.panel.Panel'> Dimensions: 2 (items) x 4 (major_axis) x 4 (minor_axis) Items axis: Data1 to Data2 Major_axis axis: 0 to 3 Minor_axis axis: 0 to 3

Remember that in Python Pandas Data Structure, **Panel is deprecated** and will be removed in its future versions. The **recommended way of representing a 3D data now is using MultiIndex on a DataFrame.**