How to replace a value in a pandas dataframe with column name based on a condition?

samthebrand

I have a dataframe that looks something like this:

enter image description here

I want to replace all 1's in the range A:D with the name of the column, so that the final result should resemble:

enter image description here

How can I do that?

You can recreate my dataframe with this:

dfz = pd.DataFrame({'A' : [1,0,0,1,0,0],
                    'B' : [1,0,0,1,0,1],
                    'C' : [1,0,0,1,3,1],
                    'D' : [1,0,0,1,0,0],
                    'E' : [22.0,15.0,None,10.,None,557.0]})
Alex Riley

One way could be to use replace and pass in a Series mapping column labels to values (those same labels in this case):

>>> dfz.loc[:, 'A':'D'].replace(1, pd.Series(dfz.columns, dfz.columns))
   A  B  C  D
0  A  B  C  D
1  0  0  0  0
2  0  0  0  0
3  A  B  C  D
4  0  0  3  0
5  0  B  C  0

To make the change permanent, you'd assign the returned DataFrame back to dfz.loc[:, 'A':'D'].

Solutions aside, it's useful to keep in mind that you may lose a lot of performance benefits when you mix numeric and string types in columns, as pandas is forced to use the generic 'object' dtype to hold the values.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

How to assign a value to a column for a subset of dataframe based on a condition in Pandas?

From Dev

How to delete a column in pandas dataframe based on a condition?

From Dev

How to delete a column in pandas dataframe based on a condition?

From Dev

Sum pandas dataframe column values based on condition of column name

From Dev

How to replace values in a range in a pandas dataframe with another value in the same dataframe based on a condition

From Java

Pandas DataFrame: replace all values in a column, based on condition

From Dev

Replace values in pandas dataframe column with different replacement dict based on condition

From Dev

Replace value in column based on a condition

From Dev

How do I replace cells in a Panda dataframe column based on a condition

From Dev

How do I replace cells in a Panda dataframe column based on a condition

From Dev

Assign value to a pandas dataframe column based on string condition

From Dev

Replace a row in a pandas DataFrame with a dict item based on a unique column value

From Dev

Replace values in a dataframe column based on condition

From Dev

How to replace all value in all columns in a Pandas dataframe with condition

From Dev

How to add a column to pandas DataFrame based on the result of a condition

From Dev

how to rename a column value in pandas dataframe on some condition

From Dev

Pandas replace column value under condition

From Dev

Extract column name and specific value based on a condition

From Dev

Extract column name and specific value based on a condition

From Dev

Replace values in pandas dataframe based on column names

From Dev

Pandas DataFrame Repeat Value Based on a Condition

From Dev

Pandas DataFrame Repeat Value Based on a Condition

From Dev

How to get column name for second largest row value in pandas DataFrame

From Dev

How to compress a pandas dataframe, based on their boolean column value?

From Dev

pandas dataframe: how to aggregate a subset of rows based on value of a column

From Dev

How to explode pandas dataframe based on number value in a specific column

From Dev

How to replicate rows based on value of a column in same pandas dataframe

From Dev

Replace Pandas Dataframe Value Based on Index Range

From Dev

How to replace a NULL value based on a condition?

Related Related

  1. 1

    How to assign a value to a column for a subset of dataframe based on a condition in Pandas?

  2. 2

    How to delete a column in pandas dataframe based on a condition?

  3. 3

    How to delete a column in pandas dataframe based on a condition?

  4. 4

    Sum pandas dataframe column values based on condition of column name

  5. 5

    How to replace values in a range in a pandas dataframe with another value in the same dataframe based on a condition

  6. 6

    Pandas DataFrame: replace all values in a column, based on condition

  7. 7

    Replace values in pandas dataframe column with different replacement dict based on condition

  8. 8

    Replace value in column based on a condition

  9. 9

    How do I replace cells in a Panda dataframe column based on a condition

  10. 10

    How do I replace cells in a Panda dataframe column based on a condition

  11. 11

    Assign value to a pandas dataframe column based on string condition

  12. 12

    Replace a row in a pandas DataFrame with a dict item based on a unique column value

  13. 13

    Replace values in a dataframe column based on condition

  14. 14

    How to replace all value in all columns in a Pandas dataframe with condition

  15. 15

    How to add a column to pandas DataFrame based on the result of a condition

  16. 16

    how to rename a column value in pandas dataframe on some condition

  17. 17

    Pandas replace column value under condition

  18. 18

    Extract column name and specific value based on a condition

  19. 19

    Extract column name and specific value based on a condition

  20. 20

    Replace values in pandas dataframe based on column names

  21. 21

    Pandas DataFrame Repeat Value Based on a Condition

  22. 22

    Pandas DataFrame Repeat Value Based on a Condition

  23. 23

    How to get column name for second largest row value in pandas DataFrame

  24. 24

    How to compress a pandas dataframe, based on their boolean column value?

  25. 25

    pandas dataframe: how to aggregate a subset of rows based on value of a column

  26. 26

    How to explode pandas dataframe based on number value in a specific column

  27. 27

    How to replicate rows based on value of a column in same pandas dataframe

  28. 28

    Replace Pandas Dataframe Value Based on Index Range

  29. 29

    How to replace a NULL value based on a condition?

HotTag

Archive