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

numpy和pandas中數(shù)組的合并、拉直和重塑實例

 更新時間:2019年06月28日 10:05:49   作者:jran_ml  
今天小編就為大家分享一篇numpy和pandas中數(shù)組的合并、拉直和重塑實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

合并

在numpy中合并兩個array

numpy中可以通過concatenate,參數(shù)axis=0表示在垂直方向上合并兩個數(shù)組,等價于np.vstack;參數(shù)axis=1表示在水平方向上合并兩個數(shù)組,等價于np.hstack。

垂直方向:

np.concatenate([arr1,arr2],axis=0)
np.vstack([arr1,arr2])

水平方向:

np.concatenate([arr1,arr2],axis=1)
np.hstack([arr1,arr2])
import numpy as np
import pandas as pd

arr1=np.ones((3,5))
arr1
Out[5]: 
array([[ 1., 1., 1., 1., 1.],
    [ 1., 1., 1., 1., 1.],
    [ 1., 1., 1., 1., 1.]])
    
arr2=np.random.randn(15).reshape(arr1.shape)
arr2
Out[8]: 
array([[-0.09666833, 1.47064828, -1.94608976, 0.2651279 , -0.32894787],
    [ 1.01187699, 0.39171167, 1.49607091, 0.79216196, 0.33246644],
    [ 1.71266238, 0.86650837, 0.77830394, -0.90519422, 1.55410056]])
    
np.concatenate([arr1,arr2],axis=0) #在縱軸上合并
Out[9]: 
array([[ 1.    , 1.    , 1.    , 1.    , 1.    ],
    [ 1.    , 1.    , 1.    , 1.    , 1.    ],
    [ 1.    , 1.    , 1.    , 1.    , 1.    ],
    [-0.09666833, 1.47064828, -1.94608976, 0.2651279 , -0.32894787],
    [ 1.01187699, 0.39171167, 1.49607091, 0.79216196, 0.33246644],
    [ 1.71266238, 0.86650837, 0.77830394, -0.90519422, 1.55410056]])

np.concatenate([arr1,arr2],axis=1) #在橫軸上合并
Out[10]: 
array([[ 1.    , 1.    , 1.    , ..., -1.94608976,
     0.2651279 , -0.32894787],
    [ 1.    , 1.    , 1.    , ..., 1.49607091,
     0.79216196, 0.33246644],
    [ 1.    , 1.    , 1.    , ..., 0.77830394,
    -0.90519422, 1.55410056]])
    
   
    

在pandas中合并兩個DataFrame

pandas中通過concat方法實現(xiàn)合并,指定參數(shù)axis=0 或者 axis=1,在縱軸和橫軸上合并兩個數(shù)組。與numpy不同,這里的兩個dataframe要放在一個列表中,即[frame1,frame2]

from pandas import DataFrame

frame1=DataFrame([[1,2,3],[4,5,6]])
frame2=DataFrame([[7,8,9],[10,11,12]])

pd.concat([frame1,frame2], ignore_index=True) # 合并的數(shù)組是一個可迭代的列表。
Out[25]: 
  0  1  2
0  1  2  3
1  4  5  6
0  7  8  9
1 10 11 12


pd.concat([frame1,frame2], axis=1, ignore_index=True)
Out[27]: 
  0 1 2  3  4  5
0 1 2 3  7  8  9
1 4 5 6 10 11 12

拉直和重塑

拉直即把一個二維的array變成一個一維的array。默認情況下,Numpy數(shù)組是按行優(yōu)先順序創(chuàng)建。在空間方面,這就意味著,對于一個二維數(shù)字,每行中的數(shù)據(jù)項是存放在內(nèi)在中相鄰的位置上的。另一種順序是列優(yōu)先。

由于歷史原因,行優(yōu)先和列優(yōu)先又分別被稱為C和Fortran順序。在Numpy中,可以通過關鍵字參數(shù)order=‘C' 和order=‘F' 來實現(xiàn)行優(yōu)先和列優(yōu)先。

拉直:

arr=np.arange(15).reshape(3,-1)
arr
Out[29]: 
array([[ 0, 1, 2, 3, 4],
    [ 5, 6, 7, 8, 9],
    [10, 11, 12, 13, 14]])
    
arr.ravel('F') #按照列優(yōu)先,扁平化。
Out[30]: array([ 0, 5, 10, ..., 4, 9, 14])

arr.ravel('C') # 默認順序。#按照行優(yōu)先,扁平化。
Out[31]: array([ 0, 1, 2, ..., 12, 13, 14])

重塑:

Fortran順序重塑后按列拉直和原數(shù)據(jù)按列拉直一樣。

arr.reshape((5,3),order='F') 
Out[32]: 
array([[ 0, 11, 8],
    [ 5, 2, 13],
    [10, 7, 4],
    [ 1, 12, 9],
    [ 6, 3, 14]])

C順序重塑后按行拉直和原數(shù)據(jù)按行拉直一樣。

 arr.reshape((5,3),order='C')
 Out[33]: 
array([[ 0, 1, 2],
    [ 3, 4, 5],
    [ 6, 7, 8],
    [ 9, 10, 11],
    [12, 13, 14]])

以上這篇numpy和pandas中數(shù)組的合并、拉直和重塑實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Tensorflow高性能數(shù)據(jù)優(yōu)化增強工具Pipeline使用詳解

    Tensorflow高性能數(shù)據(jù)優(yōu)化增強工具Pipeline使用詳解

    這篇文章主要為大家介紹了Tensorflow高性能數(shù)據(jù)優(yōu)化增強工具Pipeline使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • Python操作MongoDB的教程分享

    Python操作MongoDB的教程分享

    MongoDB?是一個流行的?NoSQL?數(shù)據(jù)庫,以其半結構化的文檔存儲方式而聞名,本文將帶大家逐步了解如何使用Python與MongoDB進行交互,從連接到基本操作,快跟隨小編一起學習一下吧
    2023-08-08
  • slearn缺失值處理器之Imputer詳析

    slearn缺失值處理器之Imputer詳析

    這篇文章主要給大家介紹了關于slearn缺失值處理器之Imputer的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-08-08
  • 提升Python編程水平必不可少的重構技巧

    提升Python編程水平必不可少的重構技巧

    在Python中,編寫可讀性強且Pythonic的代碼是至關重要的,重構技巧是指通過調(diào)整代碼結構和風格,使其更符合Python的慣例和標準,從而提高代碼的可讀性、簡潔性和可維護性,本文將深入探討八項重構技巧,幫助您編寫更Pythonic的代碼
    2024-01-01
  • Python基于tkinter canvas實現(xiàn)圖片裁剪功能

    Python基于tkinter canvas實現(xiàn)圖片裁剪功能

    這篇文章主要介紹了Python基于tkinter canvas實現(xiàn)圖片裁剪功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • python使用urlparse分析網(wǎng)址中域名的方法

    python使用urlparse分析網(wǎng)址中域名的方法

    這篇文章主要介紹了python使用urlparse分析網(wǎng)址中域名的方法,涉及Python使用urlparse模塊操作URL的技巧,需要的朋友可以參考下
    2015-04-04
  • 關于Python 中的時間處理包datetime和arrow的方法詳解

    關于Python 中的時間處理包datetime和arrow的方法詳解

    這篇文章主要介紹了關于Python 中的時間處理包datetime和arrow的相關知識,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • python虛擬機pyc文件結構的深入理解

    python虛擬機pyc文件結構的深入理解

    這篇文章主要為大家介紹了python虛擬機之pyc文件結構的深入探究理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • python遞歸調(diào)用中的坑:打印有值, 返回卻None

    python遞歸調(diào)用中的坑:打印有值, 返回卻None

    這篇文章主要介紹了python遞歸調(diào)用中的坑:打印有值, 返回卻None,本文通過問題分析給出解決方法,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Sphinx生成python文檔示例圖文解析

    Sphinx生成python文檔示例圖文解析

    這篇文章主要介為大家紹了Sphinx生成python文檔示例圖文解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04

最新評論