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

pandas數(shù)據(jù)拼接的實(shí)現(xiàn)示例

 更新時(shí)間:2020年04月16日 09:38:11   作者:知識(shí)追尋者  
這篇文章主要介紹了pandas數(shù)據(jù)拼接的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一 前言

pandas數(shù)據(jù)拼接有可能會(huì)用到,比如出現(xiàn)重復(fù)數(shù)據(jù),需要合并兩份數(shù)據(jù)的交集,并集就是個(gè)不錯(cuò)的選擇,知識(shí)追尋者本著技多不壓身的態(tài)度蠻學(xué)習(xí)了一下下;

二 數(shù)據(jù)拼接

在進(jìn)行學(xué)習(xí)數(shù)據(jù)轉(zhuǎn)換之前,先學(xué)習(xí)一些數(shù)拼接相關(guān)的知識(shí)

2.1 join()聯(lián)結(jié)

有關(guān)merge操作知識(shí)追尋者這邊不提及,有空可能后面會(huì)專門出一篇相關(guān)文章,因?yàn)槠鋵W(xué)習(xí)方式根SQL的表聯(lián)結(jié)類似,不是幾行能說清楚的知識(shí)點(diǎn);

join操作能將 2 個(gè)DataFrame 合并為一塊,前提是DataFrame 之間的列沒有重復(fù);

# -*- coding: utf-8 -*-

import pandas as pd
import numpy as np

data1 = {
  'user' : ['zszxz','craler','rose'],
  'price' : [100, 200, 300],
  'hobby' : ['reading','running','hiking']
}
index1 = ['user1','user2','user3']
frame1 = pd.DataFrame(data1,index1)

data2 = {
  'person' : ['zszxz','craler','rose'],
  'number' : [100, 2000, 3000],
  'activity' : ['swing','riding','climbing']
}
index2 = ['user1','user2','user3']
frame2 = pd.DataFrame(data2,index2)

join = frame1.join(frame2)
print(join)

輸出

         user  price    hobby  person  number  activity
user1   zszxz    100  reading   zszxz     100     swing
user2  craler    200  running  craler    2000    riding
user3    rose    300   hiking    rose    3000  climbing

2.2 concat()拼接

使用 concat() 函數(shù)能將2個(gè) Series 拼接為一個(gè),默認(rèn)按行拼接;

ser1 = pd.Series(['111','222',np.NaN])
ser2 = pd.Series(['333','444',np.NaN])
# 默認(rèn)按行拼接
print(pd.concat([ser1, ser2]))

如果按列拼接則 axis = 1

ser1 = pd.Series(['111','222',np.NaN])
ser2 = pd.Series(['333','444',np.NaN])
# 按列拼接
print(pd.concat([ser1, ser2],axis=1))

輸出

     0    1
0  111  333
1  222  444
2  NaN  NaN

更近一步,指定key 參數(shù) 輸出的數(shù)據(jù)格式就和 DataFrame 一樣

ser1 = pd.Series(['111','222',np.NaN])
ser2 = pd.Series(['333','444',np.NaN])
# 按列拼接
data = pd.concat([ser1, ser2],axis=1, keys=['zszxz', 'rzxx'])
print(data)

輸出

  zszxz rzxx
0   111  333
1   222  444
2   NaN  NaN

注 : DataFrame 的 concat 操作 和 Series 類似;

2.3 combine_first()組合

索引重復(fù)時(shí)就可以使用combine_first進(jìn)行拼接

ser1 = pd.Series(['111','222',np.NaN],index=[1,2,3])
ser2 = pd.Series(['333','444',np.NaN,'555'],index=[1,2,3,4])
data = ser1.combine_first(ser2)
print(data)

輸出

1    111
2    222
3    NaN
4    555
dtype: object

將Series 位置互換一下,可以看見基準(zhǔn)將以 ser2為準(zhǔn);

ser1 = pd.Series(['111','222',np.NaN],index=[1,2,3])
ser2 = pd.Series(['333','444',np.NaN,'555'],index=[1,2,3,4])
data = ser2.combine_first(ser1)
print(data)

輸出

1    333
2    444
3    NaN
4    555
dtype: object

2.4 軸轉(zhuǎn)換

準(zhǔn)備的數(shù)據(jù)

# -*- coding: utf-8 -*-

import pandas as pd
import numpy as np

data = {
  'user' : ['zszxz','craler','rose'],
  'price' : [100, 200, 300],
  'hobby' : ['reading','running','hiking']
}
index = ['user1','user2','user3']
frame = pd.DataFrame(data,index)
print(frame)

輸出

         user  price    hobby
user1   zszxz    100  reading
user2  craler    200  running
user3    rose    300   hiking

stack() 將 列轉(zhuǎn)為行;

# -*- coding: utf-8 -*-

import pandas as pd
import numpy as np

data = {
  'user' : ['zszxz','craler','rose'],
  'price' : [100, 200, 300],
  'hobby' : ['reading','running','hiking']
}
index = ['user1','user2','user3']
frame = pd.DataFrame(data,index)
print(frame.stack())

輸出

user1  user       zszxz
       price        100
       hobby    reading
user2  user      craler
       price        200
       hobby    running
user3  user        rose
       price        300
       hobby     hiking
dtype: object

使用 unstack()將 數(shù)據(jù)結(jié)構(gòu)重新返回

# -*- coding: utf-8 -*-

import pandas as pd
import numpy as np

data = {
  'user' : ['zszxz','craler','rose'],
  'price' : [100, 200, 300],
  'hobby' : ['reading','running','hiking']
}
index = ['user1','user2','user3']
frame = pd.DataFrame(data,index)
sta = frame.stack()
print(sta.unstack())

輸出

         user price    hobby
user1   zszxz   100  reading
user2  craler   200  running
user3    rose   300   hiking

到此這篇關(guān)于pandas數(shù)據(jù)拼接的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)pandas數(shù)據(jù)拼接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • 淺談python 調(diào)用open()打開文件時(shí)路徑出錯(cuò)的原因

    淺談python 調(diào)用open()打開文件時(shí)路徑出錯(cuò)的原因

    這篇文章主要介紹了淺談python 調(diào)用open()打開文件時(shí)路徑出錯(cuò)的原因,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python用摘要算法生成token及檢驗(yàn)token的示例代碼

    Python用摘要算法生成token及檢驗(yàn)token的示例代碼

    這篇文章主要介紹了Python用摘要算法生成token及檢驗(yàn)token的示例代碼,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-12-12
  • 利用python求解物理學(xué)中的雙彈簧質(zhì)能系統(tǒng)詳解

    利用python求解物理學(xué)中的雙彈簧質(zhì)能系統(tǒng)詳解

    這篇文章主要給大家介紹了關(guān)于利用python如何求解物理學(xué)中的雙彈簧質(zhì)能系統(tǒng)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • python實(shí)現(xiàn)zip分卷壓縮的詳細(xì)方法

    python實(shí)現(xiàn)zip分卷壓縮的詳細(xì)方法

    WinHex 開始16進(jìn)制一個(gè)一個(gè)文件對(duì)比 WinRar 創(chuàng)建的分卷壓縮和單個(gè) zip 文件的差異,這篇文章主要介紹了python實(shí)現(xiàn)zip分卷壓縮的詳細(xì)方法,需要的朋友可以參考下
    2024-02-02
  • Python實(shí)現(xiàn)自定義包的實(shí)例詳解

    Python實(shí)現(xiàn)自定義包的實(shí)例詳解

    這篇文章主要介紹了實(shí)現(xiàn)自定義包的方法,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • 10個(gè)Python常用的損失函數(shù)及代碼實(shí)現(xiàn)分享

    10個(gè)Python常用的損失函數(shù)及代碼實(shí)現(xiàn)分享

    損失函數(shù)是一種衡量模型與數(shù)據(jù)吻合程度的算法。損失函數(shù)測(cè)量實(shí)際測(cè)量值和預(yù)測(cè)值之間差距的一種方式。本文為大家總結(jié)了10個(gè)常用的損失函數(shù)及Python代碼實(shí)現(xiàn),需要的可以參考一下
    2022-09-09
  • django創(chuàng)建超級(jí)用戶過程解析

    django創(chuàng)建超級(jí)用戶過程解析

    這篇文章主要介紹了django創(chuàng)建超級(jí)用戶過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • python匿名函數(shù)的實(shí)例用法

    python匿名函數(shù)的實(shí)例用法

    在本篇文章里小編給大家整理了一篇關(guān)于python匿名函數(shù)的實(shí)例用法,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-03-03
  • Python?使用?pyc?解決明文密鑰問題記錄

    Python?使用?pyc?解決明文密鑰問題記錄

    pyc 是 Python 經(jīng)過 compile 后的文件類型,一段 Python 代碼執(zhí)行前會(huì)先將 .py 文件編譯成 .pyc 文件它是一種字節(jié)碼 byte code,然后由 Python 虛擬機(jī)執(zhí)行,這篇文章主要介紹了Python使用pyc解決明文密鑰問題,需要的朋友可以參考下
    2023-07-07
  • python實(shí)現(xiàn)計(jì)算資源圖標(biāo)crc值的方法

    python實(shí)現(xiàn)計(jì)算資源圖標(biāo)crc值的方法

    這篇文章主要介紹了python實(shí)現(xiàn)計(jì)算資源圖標(biāo)crc值的方法,通過解析資源文件找到icon的數(shù)據(jù),從而實(shí)現(xiàn)該功能,需要的朋友可以參考下
    2014-10-10

最新評(píng)論