python的ndarray、series和dataframe类型转化

2023-11-17


在这里插入图片描述

创建ndarray类型数据

  • 使用numpy库中的np.array创建
## 创建ndarray类型数据
import numpy as np
data = [["2017-10-18", 10.53, 10.69, 10.70, 10.51, 871365.0],
        ["2017-10-19", 10.64, 10.63, 10.72, 10.57, 722764.0],
        ["2017-10-20", 10.59, 10.48, 10.59, 10.41, 461808.0],
        ["2017-10-23", 10.39, 10.19, 10.40, 10.15, 1074465.0]]
arr_1 = np.array(data)
print(arr_1)
print(type(arr_1))#<class 'numpy.ndarray'>
  • 结果
    在这里插入图片描述

使用list创建series

  • 使用pandas库构建series, index构造series的行索引
import numpy as np
import pandas as pd
data = [["2017-10-18", 10.53, 10.69, 10.70, 10.51, 871365.0],
        ["2017-10-19", 10.64, 10.63, 10.72, 10.57, 722764.0],
        ["2017-10-20", 10.59, 10.48, 10.59, 10.41, 461808.0],
        ["2017-10-23", 10.39, 10.19, 10.40, 10.15, 1074465.0]]

series = pd.Series(data, index=['a', 'b', 'c', 'd'])
print(series)
print(type(series))#<class 'pandas.core.series.Series'>
  • 结果在这里插入图片描述

series和ndarray转化

series转换为ndarray

  • 使用变量名.values实现转化,实现 series转换为ndarray
  • 使用变量名.as_matrix()会报错AttributeError: ‘Series’ object has no attribute ‘as_matrix’
arr = series.values
print(arr)
print(type(arr))#<class 'numpy.ndarray'>
  • 结果
    在这里插入图片描述

ndarray转换为series

  • 方法1:map结合lamdba实现转化
import numpy as np
import pandas as pd
data = [["2017-10-18", 10.53, 10.69, 10.70, 10.51, 871365.0],
        ["2017-10-19", 10.64, 10.63, 10.72, 10.57, 722764.0],
        ["2017-10-20", 10.59, 10.48, 10.59, 10.41, 461808.0],
        ["2017-10-23", 10.39, 10.19, 10.40, 10.15, 1074465.0]]
data_list = map(lambda x: x[0], data)#不加上x[0]则是二维数组转化的series,加上x[0]表示一列的series
ser = pd.Series(data_list)
print(ser)
print(type(ser))#<class 'pandas.core.series.Series'>
  • 方法2:data.tolist()实现转化
import numpy as np
import pandas as pd
data = [["2017-10-18", 10.53, 10.69, 10.70, 10.51, 871365.0],
        ["2017-10-19", 10.64, 10.63, 10.72, 10.57, 722764.0],
        ["2017-10-20", 10.59, 10.48, 10.59, 10.41, 461808.0],
        ["2017-10-23", 10.39, 10.19, 10.40, 10.15, 1074465.0]]
arr_1 = np.array(data)
Arr_1 = pd.Series(arr_1[0].tolist())
print(Arr_1)
print(type(Arr_1))#<class 'pandas.core.series.Series'>
  • 结果
    在这里插入图片描述
import numpy as np
import pandas as pd
data = [["2017-10-18", 10.53, 10.69, 10.70, 10.51, 871365.0],
        ["2017-10-19", 10.64, 10.63, 10.72, 10.57, 722764.0],
        ["2017-10-20", 10.59, 10.48, 10.59, 10.41, 461808.0],
        ["2017-10-23", 10.39, 10.19, 10.40, 10.15, 1074465.0]]
arr_1 = np.array(data)
Arr_1 = pd.Series(arr_1.tolist())
print(Arr_1)
print(type(Arr_1))#<class 'pandas.core.series.Series'>


data_list = map(lambda x: x, data)#不加上x[0]则是二维数组转化的series,加上x[0]表示一列的series
ser = pd.Series(data_list)
print(ser)
print(type(ser))#<class 'pandas.core.series.Series'>
  • 结果
    在这里插入图片描述

使用list创建dataframe,pd.DataFrame()将ndarray转换为dataframe

  • 使用pandas库构建dataframe,index和columns构造dataframe的行列索引
import pandas as pd
data = [["2017-10-18", 10.53, 10.69, 10.70, 10.51, 871365.0],
        ["2017-10-19", 10.64, 10.63, 10.72, 10.57, 722764.0],
        ["2017-10-20", 10.59, 10.48, 10.59, 10.41, 461808.0],
        ["2017-10-23", 10.39, 10.19, 10.40, 10.15, 1074465.0]]

df = pd.DataFrame(data, index=["2017-10-18", "2017-10-19", "2017-10-20", "2017-10-23"],
                  columns=['date',"open", "close", "high", "low", "volume"])

print(df)
print(type(df))
  • 结果
    在这里插入图片描述

dataframe和ndarray之间的转化

  • 使用变量名.values实现转化
arr_1 = df.values
print(arr_1)
print(type(arr_1))#<class 'numpy.ndarray'>
  • 结果
    在这里插入图片描述

dataframe和series之间的转化

  • dataframe取子列得到series
series_open = df["open"]
print(series_open)
print(type(series_open))#<class 'pandas.core.series.Series'>
  • 结果
    在这里插入图片描述

  • 完整代码

##
import numpy as np
import pandas as pd
data = [["2017-10-18", 10.53, 10.69, 10.70, 10.51, 871365.0],
        ["2017-10-19", 10.64, 10.63, 10.72, 10.57, 722764.0],
        ["2017-10-20", 10.59, 10.48, 10.59, 10.41, 461808.0],
        ["2017-10-23", 10.39, 10.19, 10.40, 10.15, 1074465.0]]

series = pd.Series(data, index=['a', 'b', 'c', 'd'])
print(series)
print(type(series))#<class 'pandas.core.series.Series'>
#arr = series.as_matrix():报错AttributeError: 'Series' object has no attribute 'as_matrix'
#series和ndarray的转化
arr = series.values
print(arr)
print(type(arr))#<class 'numpy.ndarray'>


## dataframe
import pandas as pd
data = [["2017-10-18", 10.53, 10.69, 10.70, 10.51, 871365.0],
        ["2017-10-19", 10.64, 10.63, 10.72, 10.57, 722764.0],
        ["2017-10-20", 10.59, 10.48, 10.59, 10.41, 461808.0],
        ["2017-10-23", 10.39, 10.19, 10.40, 10.15, 1074465.0]]

df = pd.DataFrame(data, index=["2017-10-18", "2017-10-19", "2017-10-20", "2017-10-23"],
                  columns=['date',"open", "close", "high", "low", "volume"])

print(df)
print(type(df))
#arr = series.as_matrix():报错AttributeError: 'Series' object has no attribute 'as_matrix'
#dataframe和ndarray的转化
arr_1 = df.values
print(arr_1)
print(type(arr_1))#<class 'numpy.ndarray'>




## dataframe和series之间的转化:dataframe取子列得到series
series_open = df["open"]
print(series_open)
print(type(series_open))#<class 'pandas.core.series.Series'>


## 创建ndarray类型数据
import numpy as np
data = [["2017-10-18", 10.53, 10.69, 10.70, 10.51, 871365.0],
        ["2017-10-19", 10.64, 10.63, 10.72, 10.57, 722764.0],
        ["2017-10-20", 10.59, 10.48, 10.59, 10.41, 461808.0],
        ["2017-10-23", 10.39, 10.19, 10.40, 10.15, 1074465.0]]
arr_1 = np.array(data)
print(arr_1)
print(type(arr_1))#<class 'numpy.ndarray'>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python的ndarray、series和dataframe类型转化 的相关文章

  • 使用 matplotlib 从“列表列表”绘制 3D 曲面

    我已经搜索了一些 虽然我可以找到许多有用的网格网格示例 但没有一个清楚地表明我如何将列表列表中的数据转换为可接受的形式 以适应我所讨论的各种方式 当谈到 numpy matplotlib 以及我所看到的建议的术语和步骤顺序时 我有点迷失 我
  • 如何以“正确”的方式处理带有空字节的 Python unicode 字符串?

    Question PyWin32 似乎很乐意将 null 终止的 unicode 字符串作为返回值 我想以 正确 的方式处理这些字符串 假设我得到一个像这样的字符串 u C Users Guest MyFile asy x00 x00sy
  • opencv水印周围的轮廓

    我想在图像中的水印周围画一个框 我已经提取了水印并找到了轮廓 但是 不会在水印周围绘制轮廓 轮廓是在我的整个图像上绘制的 请帮我提供正确的代码 轮廓坐标的输出为 array 0 0 0 634 450 634 450 0 dtype int
  • Kivy - 有所有颜色名称的列表吗?

    在 Kivy 中 小部件 color属性允许输入其值作为字符串颜色名称 也 例如在 kv file Label color red 是否有所有可能的颜色名称的列表 就在这里 来自Kivy 的文档 https kivy org doc sta
  • 保留完整姓氏,在 pandas 列中获取名字的首字母(如果有的话,还有中间名)

    我有一个 pandas 数据框 其中有一列表示几位网球运动员的姓氏和姓名 如下所示 Player 0 Roddick Andy 1 Federer Roger 2 Tsonga Jo Wilfred 我想保留完整的姓氏并获取姓名的首字母和中
  • sklearn 中的 pca.inverse_transform

    将我的数据拟合后 X 我的数据 pca PCA n components 1 pca fit X X pca pca fit transform X 现在 X pca 具有一维 当我根据定义执行逆变换时 它不是应该返回原始数据 即 X 二维
  • 如何使用文本相似性删除 pandas 数据框中相似(不重复)的行?

    我有数千个数据 这些数据可能相似也可能不相似 使用 python 的默认函数 drop duplicates 并没有真正的帮助 因为它们只检测相似的数据 例如 如果我的数据包含类似以下内容怎么办 嗨 早上好 嗨 早上好 Python 不会将
  • Emacs 24.x 上的 IPython 支持

    我对 IPython 与 Emacs 的集成感到困惑 从 Emacs 24 开始 Emacs 附带了自己的python el 该文件是否支持 IPython 还是仅支持 Python 另外 维基百科 http emacswiki org e
  • 从扫描文档中提取行表 opencv python

    我想从扫描的表中提取信息并将其存储为 csv 现在我的表提取算法执行以下步骤 应用倾斜校正 应用高斯滤波器进行去噪 使用 Otsu 阈值进行二值化 进行形态学开局 Canny 边缘检测 进行霍夫变换以获得表格行 去除重复行 10像素范围内相
  • Python新式类和__subclasses__函数

    有人可以向我解释为什么这有效 在 Python 2 5 中 class Foo object pass class Bar Foo pass print Foo subclasses 但这不是 class Foo pass class Ba
  • Tensorflow 与 Keras 的兼容性

    我正在使用 Python 3 6 和 Tensorflow 2 0 并且有一些 Keras 代码 import keras from keras models import Sequential from keras layers impo
  • Matplotlib 中 x 轴标签的频率和旋转

    我在下面编写了一个简单的脚本来使用 matplotlib 生成图形 我想将 x tick 频率从每月增加到每周并轮换标签 我不知道从哪里开始 x 轴频率 我的旋转线产生错误 TypeError set xticks got an unexp
  • 如何在 pandas 中使用 read_fwf 跳过空行?

    I use pandas read fwf http pandas pydata org pandas docs stable generated pandas read fwf htmlPython pandas 0 19 2 中的函数读
  • ANTLR 获取并拆分词法分析器内容

    首先 对我的英语感到抱歉 我还在学习 我为我的框架编写 Python 模块 用于解析 CSS 文件 我尝试了 regex ply python 词法分析器和解析器 但我发现自己在 ANTLR 中 第一次尝试 我需要解析 CSS 文件中的注释
  • Anaconda 无法导入 ssl 但 Python 可以

    Anaconda 3 Jupyter笔记本无法导入ssl 但使用Atom终端导入ssl没有问题 我尝试在 Jupyter 笔记本中导入 ssl 但出现以下错误 C ProgramData Anaconda3 lib ssl py in
  • 当数据库不是 Django 模型时,是否可以使用数据库中的表?

    是否可以从应用程序数据库中的表获取查询集 该表不是应用程序中的模型 如果我有一个不是名为 cartable 的模型的表 从概念上讲 我想这样做 myqueryset cartable objects all 有没有相对简单的方法来做到这一点
  • Django Admin 中的反向内联

    我有以下 2 个型号 现在我需要将模型 A 内联到模型 B 的页面上 模型 py class A models Model name models CharField max length 50 class B models Model n
  • Django 与谷歌图表

    我试图让谷歌图表显示在我的页面上 但我不知道如何将值从 django 视图传递到 javascript 以便我可以绘制图表 姜戈代码 array Year Sales Expenses 2004 1000 400 2005 1170 460
  • 将上下文管理器的动态可迭代链接到单个 with 语句

    我有一堆想要链接的上下文管理器 第一眼看上去 contextlib nested看起来是一个合适的解决方案 但是 此方法在文档中被标记为已弃用 该文档还指出最新的with声明直接允许这样做 自 2 7 版起已弃用 with 语句现在支持此
  • 多个对象以某种方式相互干扰[原始版本]

    我有一个神经网络 NN 当应用于单个数据集时 它可以完美地工作 但是 如果我想在一组数据上运行神经网络 然后创建一个新的神经网络实例以在不同的数据集 甚至再次同一组数据 上运行 那么新实例将产生完全错误的预测 例如 对 XOR 模式进行训练

随机推荐

  • 西门子PLC中如何解决流量累积问题

    现在上位机系统中很多要求具备流量计的流量累计功能 由此引出的几个问题 期望与大家分享 问题1 自行编写流量累计程序 自行编写流量累计程序的原理 其实就是积分的最原始算法概念 把单位小间隔时间内的瞬时流量乘以单位间隔时间 得到单位小间隔时间内
  • kafka详解及集群环境搭建

    一 kafka详解 安装包下载地址 https download csdn net download weixin 45894220 87020758 1 1Kafka是什么 1 Kafka是一个开源消息系统 由Scala写成 是由Apac
  • layout注意事项_注意事项

    layout注意事项 In the post we will look at how you can orchestrate real time customer journeys with Adobe s Journey Orchestr
  • 【华为OD统一考试B卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • from: can't read /var/mail/xxx 解决方法

    在执行一个发包脚本的时候 遇到了如下问题 from can t read var mail scapy all 原因 脚本是没有问题的 但它并不是可以被python执行的可执行文件 解决方法 1 使用python 脚本名字 命令执行脚本 2
  • k210自学快速入门(附网址)

    一 获得下载工具IDE https dl sipeed com MAIX MaixPy ide 安装和配置见该博客 http t csdn cn 464lj 二 下载固件 1 用于程序的执行下载站 Sipeed 注意 minimum是最小版
  • sqlalchemy create_engine关于连接池的几个参数

    pool size 设置连接池中 保持的连接数 初始化时 并不产生连接 只有慢慢需要连接时 才会产生连接 例如我们的连接数设置成pool size 10 如果我们的并发量一直最高是5 那么我们的连接池里的连接数也就是5 当我们有一次并发量达
  • 级联菜单的动态实现(数据库绑定)

    效果预览 数据库设计 第一类型 第二类型 第三类型 Controller层代码 RequestMapping noFilterGetAllInfo public void noFilterGetAllInfo Integer firstSe
  • 【调试经验】MySQL - fatal error: mysql/mysql.h: 没有那个文件或目录

    机器环境 Ubuntu 22 04 3 LTS 报错问题 在编译一个项目时出现了一段SQL报错 CGImysql sql connection pool cpp 1 10 fatal error mysql mysql h 没有那个文件或目
  • python推荐系统学习笔记(5)——基于图的模型推荐算法

    python推荐系统学习笔记 5 基于图的模型推荐算法 2 1 用户行为数据的二分图表示 为可以把基于邻域的模型看作基于图的模型的简单形式 用户物品二分图模型 对于数据集中每一个二元组 u i 图中都有一套对应的边e vu vi 其中vu属
  • java listnode 合并链表_java实现链表合并

    输入两个单调递增的链表 输出两个链表合成后的链表 当然我们需要合成后的链表满足单调不减规则 最容易想到的就是新建一个链表 一个一个将节点连接到新链表中 代码 public ListNode Merge ListNode list1 List
  • Linux C/C++解析xls

    libxls作为开源库 支持在Linux C C 环境下解析 读 xls文件 github提供了源码 https github com libxls libxls 但是github的源码需要一堆辅助工具 才能够编译出libxls的C静态库
  • C++中while循环中cin语句被跳过问题解析

    今天在写代码的时候 遇到了一个非常奇怪的问题 while true int select cout lt lt 请输入查找的方式 lt lt endl cout lt lt 1 按职工编号查找 lt lt endl cout lt lt 2
  • 学习数据数据结构的意义

    来源 我是码农 转载请保留出处和链接 本文链接 http www 54manong com id 18 什么是数据结构 为什么要学习数据结构 数据结构是否是一门纯数学课程 它在专业课程体系中起什么样的作用 我们要怎么才能学好数据结构 相信同
  • TCP建立连接三次握手和释放连接四次握手

    TCP建立连接三次握手和释放连接四次握手 尊重原创 转载请注明出处 http blog csdn net guyuealian article details 52535294 在谈及TCP建立连接和释放连接过程 先来简单认识一下TCP报文
  • 哪里期货开户低手续费高交返

    国内商品期货开户流程和股票开户的流程很像似 没有开过期货户的 想要开期货户只需要知道这个就行了 可以考虑传统方式去营业部线下开户 但是线下开户弊端手续费较高 地区性垄断 前些年网上开户还没普及时 基本都采用线下开户的方式 随着互联网时代的到
  • QTextCodec中的setCodecForTr等终于消失了 (Qt5)

    在Qt4中 国内很多新手都喜欢 不分青红皂白地使用如下3行代码 QTextCodec setCodecForTr QTextCodec setCodecForCStrings QTextCodec setCodecForLocale 尽管之
  • C++设计模式——单例模式

    我们应该知道 C 中有21种设计模式 常见的有单例模式 迭代器模式 工厂模式 抽象工厂模式 观察者模式 今天我们先来说一下单例模式 单例模式 Singleton 是设计模式中最为简单 最为常见 最容易实现的模式 单例模式就是怎样去创建一个唯
  • 基于Simulink的BPSK调制通信系统建模和仿真

    基于Simulink的BPSK调制通信系统建模和仿真 本文将介绍如何使用Matlab的Simulink工具进行BPSK调制通信系统的建模和仿真 BPSK Binary Phase Shift Keying 是一种常用的数字调制技术 适用于低
  • python的ndarray、series和dataframe类型转化

    文章目录 创建ndarray类型数据 使用list创建series series和ndarray转化 series转换为ndarray ndarray转换为series 使用list创建dataframe pd DataFrame 将nda