numpy和pandas中数组的合并和拆分
来源:互联网 发布:企业私有云软件 编辑:程序博客网 时间:2024/06/05 07:23
numpy和pandas中数组的合并和拆分
合并
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.], [ 1., 1., 1., 1., 1.], [ 1., 1., 1., 1., 1.]])arr2=np.random.randn(15).reshape(arr1.shape)arr2Out[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]])np.hstack([arr1,arr2]) # 水平 horizon np.vstack([arr1,arr2]) # 垂直 vertical
pandas中
pandas中通过concat
方法实现合并,指定参数axis=0 或者 axis=1,在纵轴和横轴上合并两个数组。与numpy不同,这里的两个dataframe要放在一个列表中,即[frame1,frame2]
from pandas import DataFrameframe1=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 20 1 2 31 4 5 60 7 8 91 10 11 12pd.concat([frame1,frame2],axis=1,ignore_index=True)Out[27]: 0 1 2 3 4 50 1 2 3 7 8 91 4 5 6 10 11 12
拆分
默认情况下,Numpy数组是按行优先顺序创建。在空间方面,这就意味着,对于一个二维数字,每行中的数据项是存放在内在中相邻的位置上的。另一种顺序是列优先。
由于历史原因,行优先和列优先又分别被称为C和Fortran顺序。在Numpy中,可以通过关键字参数order=’C’ 和order=’F’ 来实现行优先和列优先。
arr=np.arange(15).reshape(3,-1)arrOut[29]: array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]])arr.ravel('F') #按照列优先,扁平化。Out[30]: array([ 0, 5, 10, ..., 4, 9, 14])arr.ravel()Out[31]: array([ 0, 1, 2, ..., 12, 13, 14])arr.reshape((5,3),order='F') # Fortran 顺序Out[32]: array([[ 0, 11, 8], [ 5, 2, 13], [10, 7, 4], [ 1, 12, 9], [ 6, 3, 14]]) arr.reshape((5,3),order='C') Out[33]: array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11], [12, 13, 14]])
阅读全文
1 0
- numpy和pandas中数组的合并和拆分
- Numpy中数组重塑、合并与拆分
- 数组的合并,拆分,分解和接合
- 数组的合并,拆分,分解和接合
- pandas和numpy的使用
- numpy和pandas的操作
- numpy中std()和pandas中std()的区别
- numpy中std()和pandas中std()
- JS合并数组和拆分数组
- python中numpy和pandas学习
- NumPy、SciPy和Pandas
- Python中numpy数组的合并
- numpy,scipy,pandas 和 matplotlib
- python安装numpy和pandas
- 整数合并和拆分
- Python中numpy和pandas中axis浅谈
- numpy中where的使用和pandas中iloc的使用
- windows下 在Python中安装numpy和pandas
- 滑动窗口的最大值(Java实现)
- python学习笔记--闭包
- Java Spring SpringMVC mybatis CRM客户关系管理系统
- Maven命令执行安装jar包
- React Native组件(一)组件的生命周期
- numpy和pandas中数组的合并和拆分
- hdoj 2087 剪花布条
- windows安装 jenkins
- android studio gradle 两种更新方法更新
- c++ 运算符优先级
- sqlserver查看触发器,存储过程,视图及表的一些命令
- maplotlib在django中的使用
- Fiddler 教程
- 「PSR 规范」PSR-6 缓存接口规范