Pandas Series

A Pandas Series is a one-dimensional labeled array-like object that can hold data of any type.

A Pandas Series can be thought of as a column in a spreadsheet or a single column of a DataFrame. It consists of two main components: the labels and the data.

For example,

0    'John'
1    30
2    6.2
3    False
dtype: object

Here, the series has two columns, labels (0, 1, 2 and 3) and data ('John', 30, 6.2, False).

The labels are the index values assigned to each data point, while the data represents the actual values stored in the Series.

Note: Pandas Series can store elements of different data types. It uses a concept called dtype (data type) to manage and represent the underlying data in a Series.

By default, Pandas internally represents the Series of different datatypes using the object data type, a general-purpose data type that can hold any text or numeric data type(strings, integers, booleans, etc).


Create a Pandas Series

There are multiple ways to create a Pandas Series, but the most common way is by using a Python list. Let's see an example of creating a Series using a list:

import pandas as pd

# create a list
data = [10, 20, 30, 40, 50]

# create a series from the list my_series = pd.Series(data)
print(my_series)

Output

0    10
1    20
2    30
3    40
4    50
dtype: int64

In this example, we created a Python list called data containing five integer values. We then passed this list to the Series() function, which converted it into a Pandas Series called my_series.

Here, dtype: int64 denotes that the series stores the values of int64 types.


Labels

The labels in the Pandas Series are index numbers by default. Like in dataframe and array, the index number in series starts from 0.

Such labels can be used to access a specified value. For example,

import pandas as pd

# create a list
data = [10, 20, 30, 40, 50]

# create a series from the list
my_series = pd.Series(data)

# display third value in the series print(my_series[2])

Output

30

Here, we accessed the third element of my_series using a label.

We can also specify labels while creating the series using the index argument in the Series() method. For example,

import pandas as pd 

# create a list
a = [1, 3, 5]

# create a series and specify labels my_series = pd.Series(a, index = ["x", "y", "z"])
print(my_series)

Output

x    1
y    3
z    5
dtype: int64

In this example,we passed index = ["x", "y", "z"] as an argument to Series() to specify the labels explicitly.

To access the series elements, we use the specified labels instead of the default index number. For example,

import pandas as pd 

# create a list
a = [1, 3, 5]

# create a series and specify labels
my_series = pd.Series(a, index = ["x", "y", "z"])

# display the value with label y print(my_series["y"])

Output

3

Create Series From a Python Dictionary

You can also create a Pandas Series from a Python dictionary. For example,

import pandas as pd

# create a dictionary
grades = {"Semester1": 3.25, "Semester2": 3.28, "Semester3": 3.75}

# create a series from the dictionary my_series = pd.Series(grades)
# display the series print(my_series)

Output

Semester1    3.25
Semester2    3.28
Semester3    3.75
dtype: float64

Here, we created a series named my_series of type float64 with a dictionary named grades.

Notice that the keys of the dictionary have become the labels.

We can further customize the series by selecting specific items from the dictionary using the index argument. For example,

import pandas as pd

# create a dictionary
grades = {"Semester1": 3.25, "Semester2": 3.28, "Semester3": 3.75}

# select specific dictionary items using index argument my_series = pd.Series(grades, index = ["Semester1", "Semester2"])
# display the series print(my_series)

Output

Semester1    3.25
Semester2    3.28
dtype: float64