Home > Backend Development > Python Tutorial > How do I transform a data table in Pandas with the 'Indicator' column values becoming new columns?

How do I transform a data table in Pandas with the 'Indicator' column values becoming new columns?

Mary-Kate Olsen
Release: 2024-12-04 20:30:15
Original
235 people have browsed it

How do I transform a data table in Pandas with the 'Indicator' column values becoming new columns?

Pivoting a Dataframe in Pandas

The task involves transposing a data table in CSV format, where the "Indicator" column values become the new columns. The desired result is a flattened format where rows are defined by 'Country' and 'Year', and columns are 'Indicator' values.

Using .pivot

To achieve the pivot operation, one can utilize the .pivot method as follows:

out = df.pivot(index=['Country', 'Year'], columns='Indicator', values='Value')
Copy after login

This method rearranges the data such that the 'Country' and 'Year' become the row indices and the 'Indicator' values become the columns. The resulting 'out' variable holds the pivoted data.

To return the data to a flat table format, one can use .rename_axis to eliminate the 'Indicator' label from columns and use .reset_index to restore 'Country' and 'Year' as columns.

print(out.rename_axis(columns=None).reset_index())
Copy after login

This produces a flattened table with 'Country', 'Year', and 'Indicator' values as columns.

Using .pivot_table

In case of duplicate 'Country', 'Year', and 'Indicator' combinations in the original dataset, .pivot_table can be employed. It performs aggregation (mean by default) on duplicate values.

out = df.pivot_table(
    index=['Country', 'Year'],
    columns='Indicator',
    values='Value')
print(out.rename_axis(columns=None).reset_index())
Copy after login

This approach results in a flattened table where duplicate values are averaged and the 'Indicator' label is omitted from columns.

Relevant Documentation

For further details on reshaping and pivot tables in Pandas, refer to the following resources:

  • Reshaping and pivot tables user guide
  • Pandas documentation: Reshaping and Pivoting

The above is the detailed content of How do I transform a data table in Pandas with the 'Indicator' column values becoming new columns?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template