How to multiply each row in pandas dataframe by a different value

How to multiply each row in pandas dataframe by a different value

To multiply each row in a pandas DataFrame by a different value, you can achieve this by either providing a list of values or using a function to map the multiplication values to each row. Here are both approaches:

Let's say you have a DataFrame named df:

import pandas as pd data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) 

Approach 1: Using a List of Values

You can create a list of values to multiply each row and then use the .mul() method to multiply the DataFrame by the corresponding values from the list:

multipliers = [2, 3, 4] # List of values to multiply each row result_df = df.mul(multipliers, axis=0) print(result_df) 

Approach 2: Using a Mapping Function

You can also define a mapping function that provides the multiplication values for each row. Then, you can use the .apply() method along with axis=1 to apply the function row-wise:

def row_multiplier(row): multipliers = [2, 3, 4] # List of values to multiply each row return row * multipliers result_df = df.apply(row_multiplier, axis=1) print(result_df) 

Both approaches will produce a new DataFrame where each row is multiplied by a different value as specified in the list or function. The output will look like this:

 A B C 0 2 16 28 1 6 15 24 2 12 24 36 

Examples

  1. Pandas multiply each row in DataFrame by a list of values

    • Description: This query involves multiplying each row in a pandas DataFrame by a different value specified in a list.
    import pandas as pd # Sample DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) values_to_multiply = [2, 3, 4] # Multiply each row by corresponding value from the list df_multiplied = df.mul(values_to_multiply, axis=0) 
  2. Pandas multiply each row in DataFrame by a Series of values

    • Description: This query explores multiplying each row in a pandas DataFrame by a different value specified in a Series.
    import pandas as pd # Sample DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) values_to_multiply = pd.Series([2, 3, 4]) # Multiply each row by corresponding value from the Series df_multiplied = df.mul(values_to_multiply, axis=0) 
  3. Pandas multiply each row in DataFrame by a dictionary of values

    • Description: This query involves multiplying each row in a pandas DataFrame by a different value specified in a dictionary.
    import pandas as pd # Sample DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) values_to_multiply = {'A': 2, 'B': 3, 'C': 4} # Multiply each row by corresponding value from the dictionary df_multiplied = df.mul(values_to_multiply, axis=0) 
  4. Pandas multiply each row in DataFrame by a list of lists

    • Description: This query involves multiplying each row in a pandas DataFrame by a different list of values specified in a list of lists.
    import pandas as pd # Sample DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) values_to_multiply = [[2, 3, 4], [5, 6, 7], [8, 9, 10]] # Multiply each row by corresponding list of values df_multiplied = df.mul(values_to_multiply, axis=0) 
  5. Pandas multiply each row in DataFrame by a numpy array of values

    • Description: This query involves multiplying each row in a pandas DataFrame by a different array of values specified in a numpy array.
    import pandas as pd import numpy as np # Sample DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) values_to_multiply = np.array([[2, 3, 4], [5, 6, 7], [8, 9, 10]]) # Multiply each row by corresponding array of values df_multiplied = df.mul(values_to_multiply, axis=0) 
  6. Pandas multiply each row in DataFrame by a function that returns a Series of values

    • Description: This query explores multiplying each row in a pandas DataFrame by a different value returned by a function that operates on each row.
    import pandas as pd # Sample DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # Function to return Series of values def multiply_func(row): return pd.Series([2 * row['A'], 3 * row['B'], 4 * row['C']]) # Multiply each row by values returned by the function df_multiplied = df.apply(multiply_func, axis=1) 
  7. Pandas multiply each row in DataFrame by a list of values using DataFrame.apply

    • Description: This query involves multiplying each row in a pandas DataFrame by a different value specified in a list using DataFrame.apply method.
    import pandas as pd # Sample DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) values_to_multiply = [2, 3, 4] # Multiply each row by corresponding value from the list using DataFrame.apply df_multiplied = df.apply(lambda row: row * values_to_multiply, axis=1) 
  8. Pandas multiply each row in DataFrame by a list of values using DataFrame.mul

    • Description: This query involves multiplying each row in a pandas DataFrame by a different value specified in a list using DataFrame.mul method.
    import pandas as pd # Sample DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) values_to_multiply = [2, 3, 4] # Multiply each row by corresponding value from the list using DataFrame.mul df_multiplied = df.mul(values_to_multiply, axis=0) 
  9. Pandas multiply each row in DataFrame by a list of values using DataFrame.dot

    • Description: This query involves multiplying each row in a pandas DataFrame by a different value specified in a list using DataFrame.dot method.
    import pandas as pd # Sample DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) values_to_multiply = [2, 3, 4] # Multiply each row by corresponding value from the list using DataFrame.dot df_multiplied = df.dot(values_to_multiply) 
  10. Pandas multiply each row in DataFrame by a list of values using DataFrame.multiply

    • Description: This query involves multiplying each row in a pandas DataFrame by a different value specified in a list using DataFrame.multiply method.
    import pandas as pd # Sample DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) values_to_multiply = [2, 3, 4] # Multiply each row by corresponding value from the list using DataFrame.multiply df_multiplied = df.multiply(values_to_multiply, axis=0) 

More Tags

git-config circular-dependency having urllib keytool bloburls procfs ecdh http-patch directory-listing

More Python Questions

More Genetics Calculators

More Internet Calculators

More Livestock Calculators

More Date and Time Calculators