## Pandas Merge (subtract) Two Rows with same absolute value

Quantity frequency 0 200 158 1 -200 116 2 500 85 3 1000 62 4 300 57 5 -500 51 6 -300 50

I am trying to subtract two frequencies having the same `abs(Quantity)`

and updating `column['frequency']`

and order by frequency.

Output:

Quantity frequency 0 1000 62 1 200 42 2 500 34 3 300 7 ...

ONe way of doing it.

a = abs(df.Quantity) b = df[df.groupby(a)["frequency"].transform('count')>1] c = df[df.groupby(a)["frequency"].transform('count')==1] d = b.groupby(a)['frequency'].apply(lambda x: x.values[0]-x.values[-1]).reset_index() d.append(c)

**Output**

Quantity frequency 0 200 42 1 300 7 2 500 34 3 1000 62

**Pandas Merge (subtract) Two Rows with same absolute value,** Pandas Merge (subtract) Two Rows with same absolute value. 发布于2020-05- 03 03:59:20. Quantity frequency 0 200 158 1 -200 116 2 500 85 3 1000 62 4 300 � In a many-to-one join, one of your datasets will have many rows in the merge column that repeat the same values (such as 1, 1, 3, 5, 5), while the merge column in the other dataset will not have repeat values (such as 1, 3, 5). As you might have guessed, in a many-to-many join, both of your merge columns will have repeat values.

This will yield the results you seek:

query = df.copy() query["abs_quantity"] = query["Quantity"].abs() abs_freq = pd.DataFrame(data=query.abs_quantity.value_counts()) \ .reset_index(level=0) \ .rename(columns={"index": "abs_quantity", "abs_quantity": "abs_freq"}) results = query.merge(abs_freq, on="abs_quantity") \ .query("abs_freq == 1")[["Quantity", "frequency"]] \ .sort_values(by="frequency", ascending=False)

**pandas.DataFrame.subtract — pandas 1.1.1 documentation,** Get Subtraction of dataframe and other, element-wise (binary operator sub ). Any single or multiple element data structure, or list-like object. axis{0 or 'index', 1 or 'columns'} Broadcast across a level, matching Index values on the passed MultiIndex Add a scalar with operator version which return the same results. Pandas dataframe.subtract() function is used for finding the subtraction of dataframe and other, element-wise. This function is essentially same as doing dataframe - other but with a support to substitute for missing data in one of the inputs. Syntax: DataFrame.subtract(other, axis=’columns’, level=None, fill_value=None) Parameters :

You can try below code snippet:

for index,row in df.iterrows(): if int(row["Quantity"])<0: # Make all quantities as positive row["Quantity"]=row["Quantity"]*-1 # Transfer the quantity sign to freq row["Freq"]=row["Freq"]*-1

This will change the sign.

df.groupby(['Quantity']).sum()

This will group it by the quantity.

**pandas.DataFrame.abs — pandas 1.1.1 documentation,** Series([pd.Timedelta('1 days')]) >>> s.abs() 0 1 days dtype: timedelta64[ns]. Select rows with data closest to certain value using argsort (from StackOverflow). >� pandas.DataFrame.combine_first¶ DataFrame.combine_first (other) [source] ¶ Update null elements with value in the same location in other. Combine two DataFrame objects by filling null values in one DataFrame with non-null values from other DataFrame. The row and column indexes of the resulting DataFrame will be the union of the two. Parameters

**Python,** This function is essentially same as doing dataframe - other but with a support to Syntax: DataFrame.subtract(other, axis='columns', level=None, fill_value=None ) fill_value : Fill existing missing (NaN) values, and any new element Get Day from date in Pandas - Python � Python | Pandas Panel.abs()� I would like to group rows in a dataframe, given one column. Then I would like to receive an edited dataframe for which I can decide which aggregation function makes sense. The default should be just the value of the first entry in the group. (it would be nice if the solution also worked for a combi

**Difference of two columns in pandas dataframe – python ,** using "-" operator. Let's see how to Find the difference of two columns in pandas. (subtract one column from other column pandas). First let's create a data� Merge two Dataframes on index of one dataframe and some column of other dataframe. What if we want to merge two dataframe by index of first dataframe and on some column of second dataframe ? For example let’s change the dataframe salaryDfObj by adding a new column ‘EmpID‘ and also reset it’s index i.e.

Merging two columns in Pandas can be a tedious task if you don’t know the Pandas merging concept. You can easily merge two different data frames easily. But on two or more columns on the same data frame is of a different concept. In this entire post, you will learn how to merge two columns in Pandas using different approaches.

##### Comments

- What is the issue, exactly? Have you tried anything, done any research? Stack Overflow is not a free code writing service. See: tour, How to Ask, help center, meta.stackoverflow.com/questions/261592/….