Pandas: Create an Intervals index
Write a Pandas program to create a DataFrame using intervals as an index.
IntervalIndex represents an Index of Interval objects that are all closed on the same side.
pandas.IntervalIndex.from_breaks: Construct an IntervalIndex from an array of splits
pandas.IntervalIndex.from_tuples: Construct an IntervalIndex from a list/array of tuples
pandas.IntervalIndex.from_arrays: Construct from two arrays defining the left and right bounds.
Sample Solution:
Python Code :
import pandas as pd
print("Create an Interval Index using IntervalIndex.from_breaks:")
df_interval = pd.DataFrame({"X":[1, 2, 3, 4, 5, 6, 7]},
index = pd.IntervalIndex.from_breaks(
[0, 0.5, 1.0, 1.5, 2.0, 2.5, 3, 3.5]))
print(df_interval)
print(df_interval.index)
print("\nCreate an Interval Index using IntervalIndex.from_tuples:")
df_interval = pd.DataFrame({"X":[1, 2, 3, 4, 5, 6, 7]},
index = pd.IntervalIndex.from_tuples(
[(0, .5), (.5, 1), (1, 1.5), (1.5, 2), (2, 2.5), (2.5, 3), (3, 3.5)]))
print(df_interval)
print(df_interval.index)
print("\nCreate an Interval Index using IntervalIndex.from_arrays:")
df_interval = pd.DataFrame({"X":[1, 2, 3, 4, 5, 6, 7]},
index = pd.IntervalIndex.from_arrays(
[0, .5, 1, 1.5, 2, 2.5, 3], [.5, 1, 1.5, 2, 2.5, 3, 3.5]))
print(df_interval)
print(df_interval.index)
Sample Output:
Create an Interval Index using IntervalIndex.from_breaks: X (0.0, 0.5] 1 (0.5, 1.0] 2 (1.0, 1.5] 3 (1.5, 2.0] 4 (2.0, 2.5] 5 (2.5, 3.0] 6 (3.0, 3.5] 7 IntervalIndex([(0.0, 0.5], (0.5, 1.0], (1.0, 1.5], (1.5, 2.0], (2.0, 2.5], (2.5, 3.0], (3.0, 3.5]] closed='right', dtype='interval[float64]') Create an Interval Index using IntervalIndex.from_tuples: X (0.0, 0.5] 1 (0.5, 1.0] 2 (1.0, 1.5] 3 (1.5, 2.0] 4 (2.0, 2.5] 5 (2.5, 3.0] 6 (3.0, 3.5] 7 IntervalIndex([(0.0, 0.5], (0.5, 1.0], (1.0, 1.5], (1.5, 2.0], (2.0, 2.5], (2.5, 3.0], (3.0, 3.5]] closed='right', dtype='interval[float64]') Create an Interval Index using IntervalIndex.from_arrays: X (0.0, 0.5] 1 (0.5, 1.0] 2 (1.0, 1.5] 3 (1.5, 2.0] 4 (2.0, 2.5] 5 (2.5, 3.0] 6 (3.0, 3.5] 7 IntervalIndex([(0.0, 0.5], (0.5, 1.0], (1.0, 1.5], (1.5, 2.0], (2.0, 2.5], (2.5, 3.0], (3.0, 3.5]] closed='right', dtype='interval[float64]')
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Pandas program to create an index labels by using 64-bit integers, using floating-point numbers in a given dataframe.
Next: Write a Pandas program to create a dataframe indexing by date and time.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics