Column to row in pandas dataframe

Anonymous

I would like to use a couple of columns as row ID while taking count of grouping based on Time. Look at below illustration:

X Y Z Time
0 1 2  10
0 2 3  10
1 0 2  15
1 0 0  23

Transforms into this:

Category Count Time
   X       0    10
   X       1    15
   X       1    23
   Y       3    10
   Y       0    15
   Y       0    23
   Z       5    10
   Z       2    15
   Z       0    23

What is happening is that X occur 0 times for the time 10 but 1 time for 15 and 23.
Y occur 3 times at 10'clock but none at 15 and 23. etc.

jezrael

I think you need melt with groupby aggregating sum and last sort_values by column Category:

print pd.melt(df, id_vars='Time', var_name='Category', value_name='Count')
        .groupby(['Time','Category']).sum().reset_index().sort_values('Category')
   Time Category  Count
0    10        X      0
3    15        X      1
6    23        X      1
1    10        Y      3
4    15        Y      0
7    23        Y      0
2    10        Z      5
5    15        Z      2
8    23        Z      0

Another solution with stack:

df1 = df.set_index('Time')
        .stack()
        .groupby(level=[0,1])
        .sum()
        .reset_index()
        .sort_values('level_1')

df1.columns = ['Time','Category','Count']
df1 = df1[['Category','Count','Time']]
print df1
  Category  Count  Time
0        X      0    10
3        X      1    15
6        X      1    23
1        Y      3    10
4        Y      0    15
7        Y      0    23
2        Z      5    10
5        Z      2    15
8        Z      0    23

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Pandas Dataframe row by row fill new column

From Java

Convert row to column header for Pandas DataFrame,

From Java

Deleting DataFrame row in Pandas based on column value

From Dev

Get list from pandas dataframe column or row?

From Dev

Appending row to Pandas DataFrame adds 0 column

From Dev

Pandas dataframe column average per row

From Dev

Pandas dataframe: turn date in column into value in row

From Dev

Row Values to Column Array in Pandas DataFrame

From Dev

Best way to add pandas DataFrame column to row

From Dev

Validate Python Pandas Dataframe Column with Row Reference

From Dev

Appending row to Pandas DataFrame adds 0 column

From Dev

Pandas dataframe: turn date in column into value in row

From Dev

Convert a row, column value to dict and to a dataframe pandas

From Dev

pandas dataframe column based on row and multiple columns

From Dev

Use column values in Pandas DataFrame to populate string row by row

From Dev

For every row in Pandas dataframe determine if a column value exists in another column

From Dev

Efficiently transforming pandas dataframe column names into row values

From Dev

Pandas: access data from dataframe by row and column number

From Dev

Get column and row index pairs of Pandas DataFrame matching some criteria

From Dev

How to construct pandas DataFrame from dictionary with key as column and row index

From Dev

Python Pandas : How to select two equal column per row of a dataframe

From Dev

Get the row and column labels for selected values in a Pandas dataframe

From Java

Pandas Dataframe row selection combined condition index- and column values

From Dev

Find unique values in a Pandas dataframe, irrespective of row or column location

From Dev

Delete Pandas DataFrame row where column value is < 0

From Dev

Assigning multiple column values in a single row of pandas DataFrame, in one line

From Dev

How to create a column depending on the row index values in a multiindex pandas dataframe?

From Dev

Pandas multiindex dataframe set first row in a column to 0

From Dev

Pandas creates DataFrame with first header column in it's own row

Related Related

  1. 1

    Pandas Dataframe row by row fill new column

  2. 2

    Convert row to column header for Pandas DataFrame,

  3. 3

    Deleting DataFrame row in Pandas based on column value

  4. 4

    Get list from pandas dataframe column or row?

  5. 5

    Appending row to Pandas DataFrame adds 0 column

  6. 6

    Pandas dataframe column average per row

  7. 7

    Pandas dataframe: turn date in column into value in row

  8. 8

    Row Values to Column Array in Pandas DataFrame

  9. 9

    Best way to add pandas DataFrame column to row

  10. 10

    Validate Python Pandas Dataframe Column with Row Reference

  11. 11

    Appending row to Pandas DataFrame adds 0 column

  12. 12

    Pandas dataframe: turn date in column into value in row

  13. 13

    Convert a row, column value to dict and to a dataframe pandas

  14. 14

    pandas dataframe column based on row and multiple columns

  15. 15

    Use column values in Pandas DataFrame to populate string row by row

  16. 16

    For every row in Pandas dataframe determine if a column value exists in another column

  17. 17

    Efficiently transforming pandas dataframe column names into row values

  18. 18

    Pandas: access data from dataframe by row and column number

  19. 19

    Get column and row index pairs of Pandas DataFrame matching some criteria

  20. 20

    How to construct pandas DataFrame from dictionary with key as column and row index

  21. 21

    Python Pandas : How to select two equal column per row of a dataframe

  22. 22

    Get the row and column labels for selected values in a Pandas dataframe

  23. 23

    Pandas Dataframe row selection combined condition index- and column values

  24. 24

    Find unique values in a Pandas dataframe, irrespective of row or column location

  25. 25

    Delete Pandas DataFrame row where column value is < 0

  26. 26

    Assigning multiple column values in a single row of pandas DataFrame, in one line

  27. 27

    How to create a column depending on the row index values in a multiindex pandas dataframe?

  28. 28

    Pandas multiindex dataframe set first row in a column to 0

  29. 29

    Pandas creates DataFrame with first header column in it's own row

HotTag

Archive