欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解利用Pandas求解兩個DataFrame的差集,交集,并集

 更新時間:2022年07月15日 08:34:07   作者:尤而小屋  
這篇文章主要和大家講解一下如何利用Pandas函數(shù)求解兩個DataFrame的差集、交集、并集,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下

大家好,我是Peter~

本文講解的是如何利用Pandas函數(shù)求解兩個DataFrame的差集、交集、并集。

模擬數(shù)據(jù)

模擬一份簡單的數(shù)據(jù):

In [1]:

import?pandas?as?pd

In [2]:

df1?=?pd.DataFrame({"col1":[1,2,3,4,5],
????????????????????"col2":[6,7,8,9,10]
???????????????????})

df2?=?pd.DataFrame({"col1":[1,3,7],
????????????????????"col2":[6,8,10]
???????????????????})

In [3]:

df1

Out[3]:

 col1col2
016
127
238
349
4510

In [4]:

df2

Out[4]:

 col1col2
016
138
2710

兩個DataFrame的相同部分:

差集

方法1:concat + drop_duplicates

In [5]:

df3?=?pd.concat([df1,df2])
df3

Out[5]:

 col1col2
016
127
238
349
4510
016
138
2710

In [6]:

#?結(jié)果1

df3.drop_duplicates(["col1","col2"],keep=False)

Out[6]:

 col1col2
127
349
4510
2710

方法2:append + drop_duplicates

In [7]:

df4?=?df1.append(df2)
df4

Out[7]:

 col1col2
016
127
238
349
4510
016
138
2710

In [8]:

#?結(jié)果2

df4.drop_duplicates(["col1","col2"],keep=False)

Out[8]:

 col1col2
127
349
4510
2710

交集

方法1:merge

In [9]:

#?結(jié)果

#?等效:df5 = pd.merge(df1, df2, how="inner")
df5?=?pd.merge(df1,df2)

df5

Out[9]:

 col1col2
016
138

方法2:concat + duplicated + loc

In [10]:

df6?=?pd.concat([df1,df2])
df6

Out[10]:

 col1col2
016
127
238
349
4510
016
138
2710

In [11]:

s?=?df6.duplicated(subset=['col1','col2'],?keep='first')
s

Out[11]:

0    False
1    False
2    False
3    False
4    False
0     True
1     True
2    False
dtype: bool

In [12]:

#?結(jié)果
df8?=?df6.loc[s?==?True]
df8

Out[12]:

 col1col2
016
138

方法3:concat + groupby + query

In [13]:

#?df6?=?pd.concat([df1,df2])

df6

Out[13]:

 col1col2
016
127
238
349
4510
016
138
2710

In [14]:

df9?=?df6.groupby(["col1",?"col2"]).size().reset_index()
df9.columns?=?["col1",?"col2",?"count"]

df9

Out[14]:

 col1col2count
0162
1271
2382
3491
45101
57101

In [15]:

df10?=?df9.query("count?>?1")[["col1",?"col2"]]
df10

Out[15]:

 col1col2
016
238

并集

方法1:concat + drop_duplicates

In [16]:

df11?=?pd.concat([df1,df2])
df11

Out[16]:

 col1col2
016
127
238
349
4510
016
138
2710

In [17]:

#?結(jié)果

#?df12?=?df11.drop_duplicates(subset=["col1","col2"],keep="last")
df12?=?df11.drop_duplicates(subset=["col1","col2"],keep="first")
df12

Out[17]:

 col1col2
016
127
238
349
4510
2710

方法2:append + drop_duplicates

In [18]:

df13?=?df1.append(df2)

#?df13.drop_duplicates(subset=["col1","col2"],keep="last")
df13.drop_duplicates(subset=["col1","col2"],keep="first")

Out[18]:

 col1col2
016
127
238
349
4510
2710

方法3:merge

In [19]:

pd.merge(df1,df2,how="outer")

Out[19]:

 col1col2
016
127
238
349
4510
5710

以上就是詳解利用Pandas求解兩個DataFrame的差集,交集,并集的詳細內(nèi)容,更多關于Pandas DataFrame差集 交集 并集的資料請關注腳本之家其它相關文章!

相關文章

  • 一文詳解Python中實現(xiàn)單例模式的幾種常見方式

    一文詳解Python中實現(xiàn)單例模式的幾種常見方式

    這篇文章主要為大家介紹了Python中實現(xiàn)單例模式的幾種常見方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Python二進制轉(zhuǎn)化為十進制數(shù)學算法詳解

    Python二進制轉(zhuǎn)化為十進制數(shù)學算法詳解

    這篇文章主要介紹了Python二進制轉(zhuǎn)化為十進制數(shù)學算法,同時在這里也給大家分享一個好用的內(nèi)置函數(shù)map(),需要的朋友可以參考下
    2023-01-01
  • python將字母轉(zhuǎn)化為數(shù)字實例方法

    python將字母轉(zhuǎn)化為數(shù)字實例方法

    在本篇文章里小編給大家整理的是關于python如何將字母轉(zhuǎn)化為數(shù)字的相關實例內(nèi)容,有需要的朋友們可以學習下。
    2019-10-10
  • 介紹Python的@property裝飾器的用法

    介紹Python的@property裝飾器的用法

    這篇文章主要介紹了介紹Python的@property裝飾器的用法,是Python學習進階中的重要知識,代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • 關于Python 實現(xiàn)tuple和list的轉(zhuǎn)換問題

    關于Python 實現(xiàn)tuple和list的轉(zhuǎn)換問題

    這篇文章主要介紹了Python 實現(xiàn)tuple和list的轉(zhuǎn)換,文中介紹了list(列表)和tuple(元組)共同點和區(qū)別,結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • Python使用pandas將表格數(shù)據(jù)進行處理

    Python使用pandas將表格數(shù)據(jù)進行處理

    這篇文章主要介紹了Python使用pandas將表格數(shù)據(jù)進行處理,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-08-08
  • Python中強大的函數(shù)map?filter?reduce使用詳解

    Python中強大的函數(shù)map?filter?reduce使用詳解

    Python是一門功能豐富的編程語言,提供了許多內(nèi)置函數(shù),以簡化各種編程任務,在Python中,map(),filter()和reduce()是一組非常有用的函數(shù),它們允許對可迭代對象進行操作,從而實現(xiàn)數(shù)據(jù)轉(zhuǎn)換、篩選和累積等操作,本文將詳細介紹這三個函數(shù),包括它們的基本用法和示例代碼
    2023-11-11
  • Python應用開發(fā)之實現(xiàn)串口通信

    Python應用開發(fā)之實現(xiàn)串口通信

    在嵌入式開發(fā)中我們經(jīng)常會用到串口,串口通信簡單,使用起來方便,且適用場景多。本文為大家準備了Python實現(xiàn)串口通信的示例代碼,需要的可以參考一下
    2022-11-11
  • python實現(xiàn)猜拳游戲項目

    python實現(xiàn)猜拳游戲項目

    這篇文章主要為大家詳細介紹了python實現(xiàn)猜拳游戲項目,以excel形式保存信息,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 對于Python編程中一些重用與縮減的建議

    對于Python編程中一些重用與縮減的建議

    這篇文章主要介紹了對于Python編程中一些重用與縮減的建議,來自于IBM官方技術文檔,需要的朋友可以參考下
    2015-04-04

最新評論