溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在Pandas中求出dataframe的交集與差集

發(fā)布時(shí)間:2020-12-14 14:25:57 來源:億速云 閱讀:1533 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)如何在Pandas中求出dataframe的交集與差集,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

創(chuàng)建測試數(shù)據(jù):

import pandas as pd
import numpy as np
 
#Create a DataFrame
df1 = {
  'Subject':['semester1','semester2','semester3','semester4','semester1',
        'semester2','semester3'],
  'Score':[62,47,55,74,31,77,85]}
 
df2 = {
  'Subject':['semester1','semester2','semester3','semester4'],
  'Score':[90,47,85,74]}
 
 
df1 = pd.DataFrame(df1,columns=['Subject','Score'])
df2 = pd.DataFrame(df2,columns=['Subject','Score'])
 
print(df1)
print(df2)

運(yùn)行結(jié)果:

如何在Pandas中求出dataframe的交集與差集

求兩個dataframe的交集

intersected_df = pd.merge(df1, df2, how='inner')
print(intersected_df)

如何在Pandas中求出dataframe的交集與差集

也可以指定求交集的列:

intersected_df = pd.merge(df1, df2, on=['Subject'], how='inner')
print(intersected_df)

如何在Pandas中求出dataframe的交集與差集

求差集

df2-df1:

set_diff_df = pd.concat([df2, df1, df1]).drop_duplicates(keep=False)
print(set_diff_df)

如何在Pandas中求出dataframe的交集與差集

df1-df2:

set_diff_df = pd.concat([df1, df2, df2]).drop_duplicates(keep=False)
print(set_diff_df)

如何在Pandas中求出dataframe的交集與差集

另一種求差集的方法是:

以df1-df2為例:

df1 = df1.append(df2)
df1 = df1.append(df2)
set_diff_df = df1.drop_duplicates(subset=['Subject', 'Score'],keep=False)
print(set_diff_df)

得到的df1-df2結(jié)果是一樣的:

如何在Pandas中求出dataframe的交集與差集

關(guān)于如何在Pandas中求出dataframe的交集與差集就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI