国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Pandas數(shù)據(jù)中的淺拷貝與深拷貝

這篇具有很好參考價值的文章主要介紹了Pandas數(shù)據(jù)中的淺拷貝與深拷貝。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

pandas庫主要有兩種數(shù)據(jù)結(jié)構(gòu)DataFrames和Series。這些數(shù)據(jù)結(jié)構(gòu)在內(nèi)部用索引數(shù)組和數(shù)據(jù)數(shù)組表示,索引數(shù)組標(biāo)記數(shù)據(jù),數(shù)據(jù)數(shù)組包含實際數(shù)據(jù)。現(xiàn)在,當(dāng)我們試圖復(fù)制這些數(shù)據(jù)結(jié)構(gòu)(DataFrames和Series)時,我們實際上是復(fù)制對象的索引和數(shù)據(jù),有兩種方法可以做到這一點,即淺復(fù)制和深復(fù)制。
這些操作是在庫函數(shù)pandas.DataFrame.copy(deep=False)(用于淺拷貝)和pandas.DataFrame.copy(deep=True)(用于DataFrames和Series中的深拷貝)的幫助下完成的。

現(xiàn)在,讓我們了解一下什么是淺拷貝。

淺拷貝

當(dāng)創(chuàng)建DataFrame或Series對象的淺層副本時,它不會復(fù)制原始對象的索引和數(shù)據(jù),而只是復(fù)制對其索引和數(shù)據(jù)的引用。因此,對一個對象所做的更改將反映在另一個對象中。

它指的是構(gòu)造一個新的集合對象,然后用對原始集合中的子對象的引用填充它。復(fù)制過程不會遞歸,因此不會創(chuàng)建子對象本身的副本。

比如:
Pandas數(shù)據(jù)中的淺拷貝與深拷貝,數(shù)據(jù)科學(xué),python,pandas

import pandas as pd
 
# assign dataframe
df = pd.DataFrame({'index': [1, 2, 3, 4],
                   'GFG': ['Mandy', 'Ron', 'Jacob', 'Bayek']})
 
 
# shallow copy
copydf = df.copy(deep=False)
 
# comparing shallow copied dataframe
# and original dataframe
print('\nBefore Operation:\n', copydf == df)
 
# assignment operation
copydf['index'] = [0, 0, 0, 0]
 
 
# comparing shallow copied dataframe
# and original dataframe
print('\nAfter Operation:\n', copydf == df)
 
print('\nOriginal Dataframe after operation:\n', df)

輸出

Pandas數(shù)據(jù)中的淺拷貝與深拷貝,數(shù)據(jù)科學(xué),python,pandas

從上面程序的輸出可以看出,應(yīng)用于淺層復(fù)制數(shù)據(jù)幀的更改會自動應(yīng)用于原始數(shù)據(jù)幀。

深拷貝

DataFrame或Series對象的深層副本具有自己的索引和數(shù)據(jù)副本。這是一個復(fù)制過程遞歸發(fā)生的過程。這意味著首先構(gòu)造一個新的集合對象,然后用在原始集合中找到的子對象的副本遞歸地填充它。在深度復(fù)制的情況下,對象的副本被復(fù)制到另一個對象中。這意味著對對象副本所做的任何更改都不會反映在原始對象中。

例如
Pandas數(shù)據(jù)中的淺拷貝與深拷貝,數(shù)據(jù)科學(xué),python,pandas

import pandas as pd
 
# assign dataframe
df = pd.DataFrame({'index': [1, 2, 3, 4],
                   'GFG': ['Mandy', 'Ron', 'Jacob', 'Bayek']})
 
# deep copy
copydf = df.copy(deep=True)
 
# comparing shallow copied dataframe
# and original dataframe
print('\nBefore Operation:\n', copydf == df)
 
# assignment operation
copydf['index'] = [0, 0, 0, 0]
 
 
# comparing shallow copied dataframe
# and original dataframe
print('\nAfter Operation:\n', copydf == df)
 
print('\nOriginal Dataframe after operation:\n', df)

輸出
Pandas數(shù)據(jù)中的淺拷貝與深拷貝,數(shù)據(jù)科學(xué),python,pandas
在這里,原始對象中的數(shù)據(jù)不會被遞歸復(fù)制。也就是說,原始對象的數(shù)據(jù)中的數(shù)據(jù)仍然指向相同的存儲單元。例如,如果Dataframe或Series對象中的數(shù)據(jù)包含任何可變數(shù)據(jù),那么它將在它和它的深層副本之間共享,并且對其中一個的任何修改都將反映在另一個中。文章來源地址http://www.zghlxwxcb.cn/news/detail-703239.html

淺拷貝與深拷貝的區(qū)別

淺拷貝 深拷貝
它是集合結(jié)構(gòu)的副本,而不是元素的副本。 它是集合的副本,其中復(fù)制了原始集合中的所有元素。
影響初始數(shù)據(jù)幀。 不影響初始數(shù)據(jù)幀。
淺拷貝不會復(fù)制子對象。 深拷貝遞歸地復(fù)制子對象。
創(chuàng)建淺拷貝比創(chuàng)建深拷貝快。 與淺拷貝相比,創(chuàng)建深拷貝速度較慢。
副本依賴于原件。 副本并不完全依賴于原件。

到了這里,關(guān)于Pandas數(shù)據(jù)中的淺拷貝與深拷貝的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 數(shù)據(jù)科學(xué)中的Python:NumPy和Pandas入門指南【第121篇—NumPy和Pandas】

    數(shù)據(jù)科學(xué)中的Python:NumPy和Pandas入門指南【第121篇—NumPy和Pandas】

    數(shù)據(jù)科學(xué)是當(dāng)今數(shù)字時代中的一個重要領(lǐng)域,而Python是數(shù)據(jù)科學(xué)家們最喜愛的編程語言之一。在這篇博客中,我們將介紹Python中兩個強大的庫——NumPy和Pandas,它們在數(shù)據(jù)處理和分析中發(fā)揮著重要作用。 NumPy是用于科學(xué)計算的基礎(chǔ)包,提供了高性能的多維數(shù)組對象( numpy.nda

    2024年03月15日
    瀏覽(21)
  • 【Python】數(shù)據(jù)科學(xué)工具(Numpy Pandas np.array() 創(chuàng)建訪問數(shù)組 向量與矩陣 Series DataFrame)

    1.Numpy numpy是Python中一個非常重要的科學(xué)計算庫,其最基礎(chǔ)的功能就是N維數(shù)組對象——ndarray。 1.1 數(shù)組的創(chuàng)建 1)np.array() 用 np.array() 函數(shù)可以將Python的序列對象(如列表、元組)轉(zhuǎn)換為ndarray數(shù)組。 2)arange、linspace、logspace np.arange(start, stop, step) :創(chuàng)建一個一維數(shù)組,其中的值

    2024年02月10日
    瀏覽(20)
  • [開發(fā)語言][c++][python]:C++與Python中的賦值、淺拷貝與深拷貝

    [開發(fā)語言][c++][python]:C++與Python中的賦值、淺拷貝與深拷貝

    寫在前面 :Python和C++中的賦值與深淺拷貝,由于其各自語言特性的問題,在概念和實現(xiàn)上稍微有點差異,本文將這C++和Python中的拷貝與賦值放到一起,希望通過對比學(xué)習(xí)兩語言實現(xiàn)上的異同點,加深對概念的理解。 C++中所謂的 淺拷貝 就是由(系統(tǒng)默認(rèn)的) 拷貝構(gòu)造函數(shù)對

    2024年02月02日
    瀏覽(28)
  • 《Python數(shù)據(jù)分析技術(shù)?!返?6章使用 Pandas 準(zhǔn)備數(shù)據(jù) 11 pandas中的運算符 Operators in Pandas

    《Python數(shù)據(jù)分析技術(shù)棧》第06章使用 Pandas 準(zhǔn)備數(shù)據(jù) 11 pandas中的運算符 Operators in Pandas Pandas uses the following operators that can be applied to a whole series. While Python would require a loop to iterate through every element in a list or dictionary, Pandas takes advantage of the feature of vectorization implemented in NumPy that

    2024年01月23日
    瀏覽(25)
  • 【Python】數(shù)據(jù)分析+數(shù)據(jù)挖掘——探索Pandas中的數(shù)據(jù)篩選

    【Python】數(shù)據(jù)分析+數(shù)據(jù)挖掘——探索Pandas中的數(shù)據(jù)篩選

    當(dāng)涉及數(shù)據(jù)處理和分析時,Pandas是Python編程語言中最強大、靈活且廣泛使用的工具之一。Pandas提供了豐富的功能和方法,使得數(shù)據(jù)的選擇、篩選和處理變得簡單而高效。在本博客中,我們將重點介紹Pandas中數(shù)據(jù)篩選的關(guān)鍵知識點,包括條件索引、邏輯操作符、 query() 方法以及

    2024年02月15日
    瀏覽(22)
  • 用Python的pandas讀取excel文件中的數(shù)據(jù)

    用Python的pandas讀取excel文件中的數(shù)據(jù)

    hello呀!各位鐵子們大家好呀,今天呢來和大家聊一聊用Python的pandas讀取excel文件中的數(shù)據(jù)。 使用pandas的 read_excel() 方法,可通過文件路徑直接讀取。注意到,在一個excel文件中有多個sheet,因此,對excel文件的讀取實際上是讀取指定文件、并同時指定sheet下的數(shù)據(jù)??梢砸淮巫x

    2024年02月02日
    瀏覽(89)
  • 【Python】數(shù)據(jù)分析+數(shù)據(jù)挖掘——探索Pandas中的索引與數(shù)據(jù)組織

    【Python】數(shù)據(jù)分析+數(shù)據(jù)挖掘——探索Pandas中的索引與數(shù)據(jù)組織

    在數(shù)據(jù)科學(xué)和數(shù)據(jù)分析領(lǐng)域,Pandas是一個備受喜愛的Python庫。它提供了豐富的數(shù)據(jù)結(jié)構(gòu)和靈活的工具,幫助我們高效地處理和分析數(shù)據(jù)。其中,索引在Pandas中扮演著關(guān)鍵角色,它是一種強大的數(shù)據(jù)組織和訪問機制,使我們能夠更好地理解和操作數(shù)據(jù)。 本博客將探討Pandas中與索

    2024年02月15日
    瀏覽(44)
  • 4.11 Pandas中的DataFrame數(shù)據(jù)類型API函數(shù)參考手冊(一) (Python)

    前言 Pandas 是一個專門用于數(shù)據(jù)處理和分析的 Python 庫,它提供了眾多強大的數(shù)據(jù)結(jié)構(gòu)和函數(shù),幫助用戶更加輕松、高效地完成數(shù)據(jù)處理和分析任務(wù)。其中,DataFrame 數(shù)據(jù)類型是 Pandas 中非常重要的一種數(shù)據(jù)結(jié)構(gòu),可以方便地對二維表格數(shù)據(jù)進(jìn)行操作、處理、統(tǒng)計和可視化等工作

    2024年02月10日
    瀏覽(23)
  • Python中淺拷貝與深拷貝

    在本文中,將介紹如何在Python 3中復(fù)制或“克隆”對象,以及所涉及的一些注意事項。 注:本教程是用Python 3編寫的,但是在復(fù)制對象時,Python 2和3并沒有什么區(qū)別。當(dāng)有不同時,會在文中指出。 讓我們首先看看如何復(fù)制Python的內(nèi)置集合。Python內(nèi)置的集合是可變的,如列表、

    2024年02月02日
    瀏覽(34)
  • python-淺拷貝(copy)與深拷貝(deepcopy)

    python-淺拷貝(copy)與深拷貝(deepcopy)

    目錄 一、前言: 二、深拷貝與淺拷貝的異同: ? ? ? ? 1.相同點:? ? ? ? ????????2.不同點: ????????3.形象說明: ? ? ? ? 注意: 三、淺拷貝: ?3.1.1淺拷貝示意圖: 3.1.2示意圖說明 ? ? ? ? 1.對象與子對象(元素)的關(guān)系: ????????2.對象: ????????3.元

    2024年02月11日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包