Using get_level_values() method we can retrieve the values of a specific level from a multi-indexed DataFrame.
Let’s use following data set to experiment with the examples.
Year Quarter Sales City 0 2020 1 100 Bangalore 1 2020 2 150 Bangalore 2 2020 3 115 Bangalore 3 2021 1 120 Hyderabad 4 2021 2 180 Hyderabad 5 2021 3 90 Hyderabad 6 2022 1 130 Chennai 7 2022 2 160 Chennai
Create a multi-level index using Year and Quarter columns.
df.set_index(['Year', 'Quarter'], inplace=True)
Above snippet converts the data frame data like below.
Sales City
Year Quarter
2020 1 100 Bangalore
2 150 Bangalore
3 115 Bangalore
2021 1 120 Hyderabad
2 180 Hyderabad
3 90 Hyderabad
2022 1 130 Chennai
2 160 Chennai
Get the value of index levels Year and Quarter using labels
year_values = df.index.get_level_values('Year')
quarter_values = df.index.get_level_values('Quarter')
We can achieve the same results by passing index positions.
year_values_using_index = df.index.get_level_values(0)
quarter_values_using_index = df.index.get_level_values(1)
Find the below working application.
get_level_values.py
import pandas as pd
# Create a sample DataFrame
data = {'Year': [2020, 2020, 2020, 2021, 2021, 2021, 2022, 2022],
'Quarter': [1, 2, 3, 1, 2, 3, 1, 2],
'Sales': [100, 150, 115, 120, 180, 90, 130, 160],
'City': ['Bangalore', 'Bangalore', 'Bangalore', 'Hyderabad', 'Hyderabad', 'Hyderabad', 'Chennai', 'Chennai']
}
df = pd.DataFrame(data)
print('Original DataFrame\n', df)
# Set Year and Quarter as indexes
df.set_index(['Year', 'Quarter'], inplace=True)
print('\nAfter setting index columns Year and Quarter\n',df)
year_values = df.index.get_level_values('Year')
quarter_values = df.index.get_level_values('Quarter')
print('\nyear_values\n', year_values)
print('\nquarter_values\n', quarter_values)
year_values_using_index = df.index.get_level_values(0)
quarter_values_using_index = df.index.get_level_values(1)
print('\nyear_values_using_index\n', year_values_using_index)
print('\nquarter_values_using_index\n', quarter_values_using_index)
Output
import pandas as pd
# Create a sample DataFrame
data = {'Year': [2020, 2020, 2020, 2021, 2021, 2021, 2022, 2022],
'Quarter': [1, 2, 3, 1, 2, 3, 1, 2],
'Sales': [100, 150, 115, 120, 180, 90, 130, 160],
'City': ['Bangalore', 'Bangalore', 'Bangalore', 'Hyderabad', 'Hyderabad', 'Hyderabad', 'Chennai', 'Chennai']
}
df = pd.DataFrame(data)
print('Original DataFrame\n', df)
# Set Year and Quarter as indexes
df.set_index(['Year', 'Quarter'], inplace=True)
print('\nAfter setting index columns Year and Quarter\n',df)
year_values = df.index.get_level_values('Year')
quarter_values = df.index.get_level_values('Quarter')
print('\nyear_values\n', year_values)
print('\nquarter_values\n', quarter_values)
year_values_using_index = df.index.get_level_values(0)
quarter_values_using_index = df.index.get_level_values(1)
print('\nyear_values_using_index\n', year_values_using_index)
print('\nquarter_values_using_index\n', quarter_values_using_index)
No comments:
Post a Comment