Conditional on pandas DataFrame's

Kadir

Let df1, df2, and df3 are pandas.DataFrame's having the same structure but different numerical values. I want to perform:

res=if df1>1.0: (df2-df3)/(df1-1) else df3

res should have the same structure as df1, df2, and df3 have.

numpy.where() generates result as a flat array.

Edit 1:

res should have the same indices as df1, df2, and df3 have.

For example, I can access df2 as df2["instanceA"]["parameter1"]["paramter2"]. I want to access the new calculated DataFrame/Series res as res["instanceA"]["parameter1"]["paramter2"].

JohnE

Actually numpy.where should work fine there. Output here is 4x2 (same as df1, df2, df3).

df1 = pd.DataFrame( np.random.randn(4,2), columns=list('xy') )
df2 = pd.DataFrame( np.random.randn(4,2), columns=list('xy') )
df3 = pd.DataFrame( np.random.randn(4,2), columns=list('xy') )

res = df3.copy()
res[:] = np.where( df1 > 1, (df2-df3)/(df1-1), df3 )

          x         y
0 -0.671787 -0.445276
1 -0.609351 -0.881987
2  0.324390  1.222632
3 -0.138606  0.955993

Note that this should work on both series and dataframes. The [:] is slicing syntax that preserves the index and columns. Without that res will come out as an array rather than series or dataframe.

Alternatively, for a series you could write as @Kadir does in his answer:

res = pd.Series(np.where( df1>1, (df2-df3)/(df1-1), df3 ), index=df1.index)

Or similarly for a dataframe you could write:

res = pd.DataFrame(np.where( df1>1, (df2-df3)/(df1-1), df3 ), index=df1.index,
                                                              columns=df1.columns)

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Java

Pandas conditional creation of a series/dataframe column

From Java

Pandas dataframe conditional cumulative sum based on date range

From Dev

Constructing pandas dataframe with rows conditional on their not existing in another dataframe python

From Dev

Conditional selection of data in a pandas DataFrame

From Dev

Applying Conditional Exclusions to Pandas DataFrame using Counts

From Dev

Conditional filtering in numpy arrays or pandas DataFrame

From Dev

vectorize conditional assignment in pandas dataframe

From Dev

Replace an entry in a pandas DataFrame using a conditional statement

From Dev

Python Pandas Dataframe Conditional If, Elif, Else

From Dev

Convert Pandas DataFrame Column From String to Int Based on Conditional

From Dev

Conditional operations for rows in pandas dataframe

From Dev

Manipulate specific columns (sample features) conditional on another column's entries (feature value) using pandas/numpy dataframe

From Dev

Conditional editing of strings in a Pandas DataFrame

From Dev

Pandas conditional creation of a new dataframe column

From Dev

How to add conditional row to pandas dataframe

From Dev

Pandas: Ternary conditional operator for setting a value in a DataFrame

From Dev

Conditional update of pandas dataframe from another dataframe

From Dev

Conditional reset of data in pandas dataframe

From Dev

Conditional selection of data in a pandas DataFrame

From Dev

Applying Conditional Exclusions to Pandas DataFrame using Counts

From Dev

Pandas conditional subset for dataframe with bool values and ints

From Dev

conditional dataframe operations using Pandas

From Dev

Conditional fill dataframe pandas

From Dev

Pandas conditional creation of a new dataframe column

From Dev

Pandas dataframe conditional column update

From Dev

Pandas conditional update dataframe value

From Dev

Conditional Regex Function on Pandas Dataframe

From Dev

Conditional evaluation of expression over columns in a pandas dataframe

From Dev

Conditional operation on Pandas dataframe

Related Related

  1. 1

    Pandas conditional creation of a series/dataframe column

  2. 2

    Pandas dataframe conditional cumulative sum based on date range

  3. 3

    Constructing pandas dataframe with rows conditional on their not existing in another dataframe python

  4. 4

    Conditional selection of data in a pandas DataFrame

  5. 5

    Applying Conditional Exclusions to Pandas DataFrame using Counts

  6. 6

    Conditional filtering in numpy arrays or pandas DataFrame

  7. 7

    vectorize conditional assignment in pandas dataframe

  8. 8

    Replace an entry in a pandas DataFrame using a conditional statement

  9. 9

    Python Pandas Dataframe Conditional If, Elif, Else

  10. 10

    Convert Pandas DataFrame Column From String to Int Based on Conditional

  11. 11

    Conditional operations for rows in pandas dataframe

  12. 12

    Manipulate specific columns (sample features) conditional on another column's entries (feature value) using pandas/numpy dataframe

  13. 13

    Conditional editing of strings in a Pandas DataFrame

  14. 14

    Pandas conditional creation of a new dataframe column

  15. 15

    How to add conditional row to pandas dataframe

  16. 16

    Pandas: Ternary conditional operator for setting a value in a DataFrame

  17. 17

    Conditional update of pandas dataframe from another dataframe

  18. 18

    Conditional reset of data in pandas dataframe

  19. 19

    Conditional selection of data in a pandas DataFrame

  20. 20

    Applying Conditional Exclusions to Pandas DataFrame using Counts

  21. 21

    Pandas conditional subset for dataframe with bool values and ints

  22. 22

    conditional dataframe operations using Pandas

  23. 23

    Conditional fill dataframe pandas

  24. 24

    Pandas conditional creation of a new dataframe column

  25. 25

    Pandas dataframe conditional column update

  26. 26

    Pandas conditional update dataframe value

  27. 27

    Conditional Regex Function on Pandas Dataframe

  28. 28

    Conditional evaluation of expression over columns in a pandas dataframe

  29. 29

    Conditional operation on Pandas dataframe

HotTag

Archive