import pandas as pd
import numpy as np
from pandas import Series, DataFrame
【练习一】
# (1)如果有两份成绩单df_1是张三、李四、王老五之外,还有df_2是张三、赵小六
# (2)如果df_2中张三的名字被打错了。成为了张十三,怎么办?
df_1 = DataFrame(
data={
"张三": ["A", "B", "C"],
"李四": ["A", "C", "B"],
"王老五": ["B", "A", "C"]
},
index=["语文", "数学", "英语"]
)
df_2 = DataFrame(
data={
"赵小六": ["B", "C", "A"],
"张三": ["A", "B", "C"]
},
index=["语文", "数学", "英语"]
)
print(df_1, "\n", df_2)
print(pd.merge(df_1, df_2))
df_2 = DataFrame(
data={
"赵小六": ["B", "C", "A"],
"张十三": ["A", "B", "C"]
},
index=["语文", "数学", "英语"]
)
df_change_1 = pd.merge(df_1, df_2, left_on="张三", right_on="张十三")
print(df_change_1)
df_change_2 = df_change_1.drop(labels="张十三", axis=1)
print(df_change_2)
运行结果:
【练习二】
# 假设有两个同学都叫李四,df_3是张三和李四的成绩表,df_4是张三和李四的成绩表,两个成绩表中的李四不是一个人
df_3 = DataFrame(data={"张三": ["A", "B", "C"], "李四": ["A", "C", "B"]}, index=["chinese", "math", "english"])
df_4 = DataFrame(data={"张三": ["B", "C", "A"], "李四": ["B", "A", "C"]}, index=["chinese", "math", "english"])
pd_add = pd.merge(df_3, df_4, on="李四", suffixes=("_1", "_2"))
pd_add.index = ["chinese", "math", "english"]
print(pd_add)
运行结果: