Facebook Page Twitter Page LinkedIn Page
× Pandas Tutorial Pandas Resources


Pandas Series is a one-dimensional labeled array. It can hold data of any type like integer, string, float, python objects, etc. The axis labels are collectively called index. It is like a column in an excel sheet.

Create Series

A Pandas Series can be created using Series() constructor. The syntax for using the function is given below:

Syntax

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

Parameters

data Optional. Specify data. It takes data in various forms like list, ndarray, dict and constants.
index Optional. Specify value of the index. It must be unique, hashable and same length as data. The Default np.arrange(n) index is used if no index is passed.
dtype Optional. Specify data type of the Series.
name Optional. Specify name to give to the Series.
copy Optional. Specify True to copy data from inputs, False otherwise. Default is False.

Create an empty Series

An empty Series can be created by passing no arguments in the Series() constructor as shown below:

Example:

import pandas as pd
x = pd.Series()

print(x)

The output of the above code will be:

Series([], dtype: float64)

Create a Series from List

In below example, a list called Name is used to create a series. As the index is not provided, therefore by default, np.arrange(n) is used for axis labels.

Example:

import pandas as pd
Name = ['John', 'Marry', 'Jo', 'Sam']
x = pd.Series(Name)

print(x)

The output of the above code will be:

0     John
1    Marry
2       Jo
3      Sam
dtype: object

Example:

When the index is provided to series, the axis labels gets changed as shown below:

import pandas as pd
Name = ['John', 'Marry', 'Jo', 'Sam']
x = pd.Series(Name, index=['P1', 'P2', 'P3', 'P4'])

print(x)

The output of the above code will be:

P1     John
P2    Marry
P3       Jo
P4      Sam
dtype: object

Create a Series from ndarray

A ndarray can also be passed to get a series. Here, the index is not provided, therefore by default, np.arrange(n) is used for axis labels.

Example:

import pandas as pd
import numpy as np
Name = np.array(['John', 'Marry', 'Jo', 'Sam'])
x = pd.Series(Name)

print(x)

The output of the above code will be:

0     John
1    Marry
2       Jo
3      Sam
dtype: object

Example:

When the index is provided to series, the axis labels gets changed as shown below:

import pandas as pd
import numpy as np
Name = np.array(['John', 'Marry', 'Jo', 'Sam'])
x = pd.Series(Name, index=['P1', 'P2', 'P3', 'P4'])

print(x)

The output of the above code will be:

P1     John
P2    Marry
P3       Jo
P4      Sam
dtype: object

Create a Series from dict

A dictionary can also be used to create a series. If index is not provided then the keys of the dictionary (in sorted order) will be used to construct index of the series. If index is passed, NaN is appended for the missing data.

Example:

import pandas as pd
Name = {"P1":"John", "P2":"Marry", "P3":"Sam"}
x = pd.Series(Name)

print(x)

The output of the above code will be:

P1     John
P2    Marry
P3      Sam
dtype: object

Example:

In the below example, index is passed with no data for 'P4'. Therefore, NaN is appended for the missing data.

import pandas as pd
Name = {"P1":"John", "P2":"Marry", "P3":"Sam"}
x = pd.Series(Name, index=['P1', 'P2', 'P3', 'P4'])

print(x)

The output of the above code will be:

P1     John
P2    Marry
P3      Sam
P4      NaN
dtype: object

Create a Series from Scalar

When a scalar is used to create a series, the value is repeated for all index.

Example:

import pandas as pd
x = pd.Series(10, index=['P1', 'P2', 'P3', 'P4'])

print(x)

The output of the above code will be:

P1    10
P2    10
P3    10
P4    10
dtype: int64

Accessing Data from Series with Position

The data from a series can be accessed in the similar manner as of ndarray.

Example:

In the below example, first element of the series is accessed which is stored at the zeroth position in the series.

import pandas as pd
Name = ['John', 'Marry', 'Ramesh', 'Jo', 'Sam']
x = pd.Series(Name)

#print first element of the series
print(x[0])

The output of the above code will be:

John

Example:

A range of elements can be accessed using : operator.

import pandas as pd
Name = ['John', 'Marry', 'Ramesh', 'Jo', 'Sam']
x = pd.Series(Name)

#printing first two elements of the series
print(x[:2])

#printing last two elements of the series
print(x[-2:])

The output of the above code will be:

0     John
1    Marry
dtype: object

3     Jo
4    Sam
dtype: object

Accessing Data from Series with Label (index)

Example:

In the below example, element of the series is accessed using its label.

import pandas as pd
Name = ['John', 'Marry', 'Ramesh', 'Jo', 'Sam']
x = pd.Series(Name, index=['P1', 'P2', 'P3', 'P4', 'P5'])

#print element of the series with label 'P3'
print(x['P3'])

The output of the above code will be:

Ramesh

Example:

Multiple elements of the series also be accessed using its label as shown below:

import pandas as pd
Name = ['John', 'Marry', 'Ramesh', 'Jo', 'Sam']
x = pd.Series(Name, index=['P1', 'P2', 'P3', 'P4', 'P5'])

#print element of the series with label 'P3'
print(x[['P1', 'P3', 'P5']])

The output of the above code will be:

P1      John
P3    Ramesh
P5       Sam
dtype: object

Example:

If passed label is not present in the series, KeyError exception is raised.

import pandas as pd
Name = ['John', 'Marry', 'Ramesh', 'Jo', 'Sam']
x = pd.Series(Name, index=['P1', 'P2', 'P3', 'P4', 'P5'])

#print element of the series
print(x[['P1', 'P3', 'P6']])

#print element of the series
print(x['P6'])

The output of the above code will be:

P1      John
P3    Ramesh
P6       NaN
dtype: object

KeyError: 'P6'