将外部值映射到 Pandas 中的数据框值
将外部值映射到数据帧意味着通过保持外部字典的键与该数据帧的一列相同,使用不同的值集添加到该数据帧中。
要在数据框中添加外部值,我们使用字典,其中包含要在数据框中添加的键和值。通过在数据框中添加外部值,一列将添加到当前数据框中。我们还可以在 pandas 的帮助下将一个数据帧映射或组合到另一个数据帧。
方法#1:使用映射函数
通过使用此映射函数,我们可以向现有数据框添加一列。请记住,不会重复任何键值,这会使数据不一致。
# Creating new dataframe
import pandas as pd
initial_data = {'First_name': ['Ram', 'Mohan', 'Tina', 'Jeetu', 'Meera'],
'Last_name': ['Kumar', 'Sharma', 'Ali', 'Gandhi', 'Kumari'],
'Age': [42, 52, 36, 21, 23],
'City': ['Mumbai', 'Noida', 'Pune', 'Delhi', 'Bihar']}
df = pd.DataFrame(initial_data, columns = ['First_name', 'Last_name',
'Age', 'City'])
# Create new column using dictionary
new_data = { "Ram":"B.Com",
"Mohan":"IAS",
"Tina":"LLB",
"Jeetu":"B.Tech",
"Meera":"MBBS" }
# combine this new data with existing DataFrame
df["Qualification"] = df["First_name"].map(new_data)
print(df)
输出:
First_name Last_name Age City Qualification
0 Ram Kumar 42 Mumbai B.Com
1 Mohan Sharma 52 Noida IAS
2 Tina Ali 36 Pune LLB
3 Jeetu Gandhi 21 Delhi B.Tech
4 Meera Kumari 23 Bihar MBBS
方法#2:使用replace
函数
在这种方法中,我们可以通过一些定义的外部值来添加或替换数据框的一些值。
# Creating new dataframe
import pandas as pd
initial_data = {'First_name': ['Ram', 'Mohan', 'Tina', 'Jeetu', 'Meera'],
'Last_name': ['Kumar', 'Sharma', 'Ali', 'Gandhi', 'Kumari'],
'Age': [42, 52, 36, 21, 23],
'City': ['Mumbai', 'Noida', 'Pune', 'Delhi', 'Bihar']}
df = pd.DataFrame(initial_data, columns = ['First_name', 'Last_name',
'Age', 'City'])
# Create new column using dictionary
new_data = { "Ram":"Shyam",
"Tina":"Riya",
"Jeetu":"Jitender" }
print(df, end ="\n\n")
# combine this new data with existing DataFrame
df = df.replace({"First_name":new_data})
print(df)
输出:
First_name Last_name Age City
0 Ram Kumar 42 Mumbai
1 Mohan Sharma 52 Noida
2 Tina Ali 36 Pune
3 Jeetu Gandhi 21 Delhi
4 Meera Kumari 23 Bihar
First_name Last_name Age City
0 Shyam Kumar 42 Mumbai
1 Mohan Sharma 52 Noida
2 Riya Ali 36 Pune
3 Jitender Gandhi 21 Delhi
4 Meera Kumari 23 Bihar
方法#3:使用update
函数
在这种方法中,我们可以使用索引值更新数据框值,我们可以通过外部数据更改列的值。
# Creating new dataframe
import pandas as pd
initial_data = {'First_name': ['Ram', 'Mohan', 'Tina', 'Jeetu', 'Meera'],
'Last_name': ['Kumar', 'Sharma', 'Ali', 'Gandhi', 'Kumari'],
'Age': [42, 52, 36, 21, 23],
'City': ['Mumbai', 'Noida', 'Pune', 'Delhi', 'Bihar']}
df = pd.DataFrame(initial_data, columns = ['First_name', 'Last_name',
'Age', 'City'])
# Create new column using dictionary
new_data = { 0:"Shyam",
2:"Riya",
3:"Jitender" }
# combine this new data with existing DataFrame
df["First_name"].update(pd.Series(new_data))
print(df)
输出:
First_name Last_name Age City
0 Shyam Kumar 42 Mumbai
1 Mohan Sharma 52 Noida
2 Riya Ali 36 Pune
3 Jitender Gandhi 21 Delhi
4 Meera Kumari 23 Bihar