首先,本文会详细讲解Pandas Dataframe的合并和去重操作,其中会包含两条示例说明。
1. Pandas Dataframe合并
Pandas Dataframe的合并操作就是将不同的Dataframe按照某个共同的列或索引进行连接,可以使用Pandas的merge方法实现。示例如下:
示例1
假设我们有两个Dataframe,df1和df2如下:
import pandas as pd
df1 = pd.DataFrame({'学号':[1,2,3],'姓名':['小明','小红','小刚']})
df2 = pd.DataFrame({'学号':[1,2,4],'年龄':[18,19,20]})
我们可以使用merge方法基于学号列进行连接,代码如下:
merge_result = pd.merge(df1, df2, on='学号')
合并后的结果如下:
学号 姓名 年龄
0 1 小明 18
1 2 小红 19
从结果可以看出,merge方法自动根据学号列找到两个Dataframe中学号相同的行进行连接,并将其他列的值合并在一起。
示例2
假设我们有两个Dataframe,df1和df2如下:
df1 = pd.DataFrame({'学号':[1,2,3],'姓名':['小明','小红','小刚']})
df2 = pd.DataFrame({'学生姓名':['小明','小红','小刚'],'国籍':['中国','中国','美国']})
我们现在需要将两个Dataframe合并成一个Dataframe,并以姓名列作为共同列。这个时候,我们需要使用left_on和right_on参数来指定合并的列。代码如下:
merge_result = pd.merge(df1, df2, left_on='姓名', right_on='学生姓名')
合并后的结果如下:
学号 姓名 学生姓名 国籍
0 1 小明 小明 中国
1 2 小红 小红 中国
2 3 小刚 小刚 美国
从结果可以看出,我们使用left_on和right_on参数指定了合并的列,并将两个Dataframe中相同列名的列区分开来,最终合并成了一个Dataframe。
2. Pandas Dataframe去重
Pandas Dataframe的去重操作可以使用Pandas的drop_duplicates方法实现,该方法可以根据指定列或索引进行去重。示例如下:
示例1
假设我们有一个Dataframe,df如下:
df = pd.DataFrame({'学号':[1,2,3,2],'姓名':['小明','小红','小刚','小红']})
我们现在需要对学号列和姓名列同时进行去重,并返回去重后的新Dataframe。代码如下:
deduped_df = df.drop_duplicates(['学号', '姓名'])
去重后的结果如下:
学号 姓名
0 1 小明
1 2 小红
2 3 小刚
从结果可以看出,drop_duplicates方法自动根据指定列进行去重,并返回去重后的新Dataframe。
示例2
假设我们有一个Dataframe,df如下:
df = pd.DataFrame({'学号':[1,2,3],'姓名':['小明','小红','小刚']})
我们现在需要对所有列进行去重,并返回去重后的新Dataframe。代码如下:
deduped_df = df.drop_duplicates()
去重后的结果和原始数据完全相同,说明该方法可以处理所有列的去重操作。
至此,Pandas Dataframe合并和去重操作的攻略就讲解完毕了。希望对大家进行Python数据分析的过程中有所帮助。