python
[Pandas] Add new column to DataFrame based on existing column
If you want to add a new column to Pandas Dataframe that will have the values based on existing column values then you can use the methods explained in this post.
import pandas as pd
employees = {
"name": ["Richard", "Patrick", "Sam", "Vick"],
"address": ["New York", "Atlanta", "Canada", "India"],
"salary": [10000, 20000, 15000, 22000]
}
# create dataframe
df = pd.DataFrame(employees)
print(df)
# add new column - deduction that has 10% of salary
df["deduction"] = df["salary"] * 10 / 100
print(df)
Output
name address salary
0 Richard New York 10000
1 Patrick Atlanta 20000
2 Sam Canada 15000
3 Vick India 22000
name address salary deduction
0 Richard New York 10000 1000.0
1 Patrick Atlanta 20000 2000.0
2 Sam Canada 15000 1500.0
3 Vick India 22000 2200.0
Here we are adding a new column deduction that will be based on the values of the salary column in Dataframe df.
Use apply() function to add a column based on another column
import pandas as pd
employees = {
"name": ["Richard", "Patrick", "Sam", "Vick"],
"address": ["New York", "Atlanta", "Canada", "India"],
"salary": [10000, 20000, 15000, 22000]
}
# create dataframe
df = pd.DataFrame(employees)
# add new column - deduction that has 10% of salary
df["deduction"] = df.apply(lambda row : row['salary'] * 10 / 100, axis=1)
print(df)
Output
name address salary deduction
0 Richard New York 10000 1000.0
1 Patrick Atlanta 20000 2000.0
2 Sam Canada 15000 1500.0
3 Vick India 22000 2200.0
Was this helpful?
Similar Posts
- Add new row to an existing Pandas DataFrame
- Add a new column with data to Pandas Dataframe
- Change column values condition based in Pandas DataFrame
- Counting rows in a Pandas Dataframe based on column values
- Insert new column with default value in Pandas DataFrame
- Add column to existing table with default value SQLAlchemy
- Pandas - Delete,Remove,Drop, column from pandas DataFrame