博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[开发技巧]·pandas如何保存numpy元素
阅读量:4679 次
发布时间:2019-06-09

本文共 1168 字,大约阅读时间需要 3 分钟。

[开发技巧]·pandas如何保存numpy元素

1.问题描述

在开发的过程中遇到一个问题,就是需要把numpy作为pandas的一个元素进行保存,注意不是作为一列元素。但是实践的过程中却不顺利,会报错,现在我解决了这个问题,并且把心得和理解分享出来,希望能帮到后来人。

 

2.开发实战

1.新建一些伪数据,用于保存

import pandas as pdimport numpy as npl1 = [1,2,3,4]l2 = [.1,.2,.3,.4]lists = np.array([l1,l2])labels = [1,0]

2.新建DataFrame进行保存并且显示

df = pd.DataFrame()df["list"] = listsdf["label"] = labelsprint(df)

这时程序报错:

raise Exception('Data must be 1-dimensional')Exception: Data must be 1-dimensional

错误出现在df["list"] = lists,错误的原因是lists不是一维数据(Data must be 1-dimensional),为什么会出现这个问题呢?

原因在lists = np.array([l1,l2]),lists成为了二维的np.array,shape为(2,4)。

如何解决呢?需要把np.array转为list,就变为一维数据了

3.修正代码

import pandas as pdimport numpy as npl1 = [1,2,3,4]l2 = [.1,.2,.3,.4]lists = np.array([l1,l2])lists = list(lists)labels = [1,0]df = pd.DataFrame()df["list"] = listsdf["label"] = labelsprint(df)
输出结果:
list  label0  [1.0, 2.0, 3.0, 4.0]      11  [0.1, 0.2, 0.3, 0.4]      0

可能会有些朋友觉得代码有些麻烦,为什么先用np.array([l1,l2])转换为np.array再用list(lists)转换为list,其实这是为了模拟真实使用场景。一般我们接触到的数据都是np.array,再保存为pandas,就会报错(Data must be 1-dimensional),解决方法就是转换为list。

numpy.array和list区别是什么呢?后面我会通过一个博客来好好阐述一下。

转载于:https://www.cnblogs.com/xiaosongshine/p/10841818.html

你可能感兴趣的文章
Linux shell 命令判断执行语法 ; , && , ||
查看>>
vim代码格式化插件clang-format
查看>>
What does the dot after dollar sign mean in jQuery when declaring variables?
查看>>
windows registry
查看>>
jquery 动画总结(主要指效果函数)
查看>>
leetcode-17-电话号码的字母组合’
查看>>
Flume 示例
查看>>
Designing for Performance
查看>>
HTML属性的应用
查看>>
HEAP CORRUPTION DETECTED
查看>>
Android URI简单介绍
查看>>
蒙板 模态对话框
查看>>
pythong中的全局变量的调用和嵌套函数中变量的使用
查看>>
【POJ - 3009】Curling 2.0 (dfs+回溯)
查看>>
Windows下载安装良心教程
查看>>
浅析商业银行“业务连续性管理体系”的构建
查看>>
【分享】从《水浒传》中反思什么是真正的执行力
查看>>
java中的static
查看>>
5.侧边栏逻辑
查看>>
评论博客
查看>>