加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

对numpy和pandas中数组的合并和拆分详解

发布时间:2020-12-16 20:54:20 所属栏目:Python 来源:网络整理
导读:合并 numpy中 numpy中可以通过concatenate,指定参数axis=0 或者 axis=1,在纵轴和横轴上合并两个数组。 import numpy as npimport pandas as pdarr1=np.ones((3,5))arr1Out[5]: array([[ 1.,1.,1.],[ 1.,1.]])arr2=np.random.randn(15).reshape(arr1.shape)

合并

numpy中

numpy中可以通过concatenate,指定参数axis=0 或者 axis=1,在纵轴和横轴上合并两个数组。

import numpy as np
import pandas as pd
arr1=np.ones((3,5))
arr1
Out[5]: 
array([[ 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.    ],[-0.09666833,axis=1) #在横轴上合并
Out[10]: 
array([[ 1.,...,1.55410056]])
np.hstack([arr1,arr2]) # 水平 horizon 
np.vstack([arr1,arr2]) # 垂直 vertical 

pandas中

pandas中通过concat方法实现合并,指定参数axis=0 或者 axis=1,在纵轴和横轴上合并两个数组。与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) # 合并的数组是一个可迭代的列表。
Out[25]: 
  0  1  2
0  1  2  3
1  4  5  6
0  7  8  9
1 10 11 12
pd.concat([frame1,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

拆分

默认情况下,Numpy数组是按行优先顺序创建。在空间方面,这就意味着,对于一个二维数字,每行中的数据项是存放在内在中相邻的位置上的。另一种顺序是列优先。

由于历史原因,行优先和列优先又分别被称为C和Fortran顺序。在Numpy中,可以通过关键字参数order='C' 和order='F' 来实现行优先和列优先。

arr=np.arange(15).reshape(3,-1)
arr
Out[29]: 
array([[ 0,1,3,4],[ 5,6,7,12,13,14]])
arr.ravel('F') #按照列优先,扁平化。
Out[30]: array([ 0,10,4,9,14])
arr.ravel()
Out[31]: array([ 0,14])
arr.reshape((5,3),order='F') # Fortran 顺序
Out[32]: 
array([[ 0,8],13],[ 1,[ 6,14]])
 arr.reshape((5,order='C')
 Out[33]: 
array([[ 0,2],[ 3,5],[ 9,11],[12,14]])

以上这篇对numpy和pandas中数组的合并和拆分详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。

您可能感兴趣的文章:

  • 在Python中利用Pandas库处理大数据的简单介绍
  • Python pandas常用函数详解
  • pandas数据分组和聚合操作方法

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读