用python做科技计算时,经常需要类型转换,以下是常用类型转换

一、ndarray 转换为 series

1、如果ndarray是二维数组,如下

array([[1],

[2],

[3]])

需要通过map结合lamdba

import numpy as np

import pandas as pd

data = np.array([1, 2, 3]).reshape(3, 1)

data_list = map(lambda x: x[0], data)

ser = pd.Series(data_list)

2、如果ndarray是一维数组,如下

array([1, 2, 3])

则通过data.tolist()即可

import numpy as np

import pandas as pd

data = np.array([1, 2, 3])

ser = pd.Series(data.tolist())

二、series转换为ndarray

通过Series.values实现series转换为ndarray

import pandas as pd

data = [['2019/08/01', 10],

['2019/08/01', 11]]

result = pd.DataFrame(data, columns=['ds', 'val'])

result['val'].values

data2 = pd.Series([1, 2, 3])

data2.values

三、ndarray转换为dataframe

1、直接通过pd.DataFrame转换

import numpy as np

import pandas as pd

data = np.array([['2019/08/02', 'zhansan', 1], ['2019/08/03', 'lisi', 2], ['2019/08/04', 'wangwu', 3]])

df = pd.DataFrame(data)

打印df为

2、指定索引、数据、列名例子

import numpy as np

import pandas as pd

data = np.array([['', 'Col1', 'Col2'], ['Row1', 1, 2], ['Row2', 3, 4]])

df = pd.DataFrame(data=data[1:, 1:], # 从第2行开始并且第2列开始作为数据

index=data[1:, 0], # 第1列做索引,从第2行开始

columns=data[0, 1:]) # 第1行作为列名,从第2列开始

四、dataframe转换为ndarray

1、通过values方法,实现dataframe转换为ndarray

import pandas as pd

data = [['2019/08/01', 10],

['2019/08/01', 11]]

result = pd.DataFrame(data, columns=['ds', 'val'])

result.values

dataframe数据

转换后的是数据

2、通过切片,实现某一行或者某一列转换为ndarray

import pandas as pd

data = [['2019/08/01', 10],

['2019/08/01', 11]]

result = pd.DataFrame(data, columns=['ds', 'val'])

rs = result.values

print(rs[:, 0])

print(rs[0, :])

rs[:, 0] 逗号前面表示:行都保留,逗号后面0表示保留第一列,结果为['2019/08/01' '2019/08/01']

rs[0, :]表示保留第一行,列都保留,结果为['2019/08/01' 10]

python ndarray转换为array_python ndarray与pandas series相互转换,ndarray与dataframe相互转换...相关推荐

  1. python可以构建sem模型_Python Pandas Series.sem()用法及代码示例

    Pandas 系列是带有轴标签的一维ndarray.标签不必是唯一的,但必须是可哈希的类型.该对象同时支持基于整数和基于标签的索引,并提供了许多方法来执行涉及索引的操作. Pandas Series. ...

  2. python中mean的用法_Python Pandas Series.mean()用法及代码示例

    Pandas 系列是带有轴标签的一维ndarray.标签不必是唯一的,但必须是可哈希的类型.该对象同时支持基于整数和基于标签的索引,并提供了许多方法来执行涉及索引的操作. Pandas Series. ...

  3. python中loc的用法_python pandas Series.loc用法及代码示例

    通过标签或布尔数组访问一组行和列. .loc[]主要基于标签,但也可以与布尔数组一起使用. 允许的输入为: 单个标签,例如5或者'a', (注意5被解释为索引的标签,而不是索引的整数位置). 标签的列 ...

  4. python中change的用法_python pandas Series.pct_change用法及代码示例

    当前元素与先前元素之间的百分比变化. 默认情况下,计算与前一行的百分比变化.这在比较元素时间序列中的变化百分比时很有用. 参数: periods:int, 默认为 1形成百分比变化所需的时间. fil ...

  5. python s append_Python Pandas Series.append()用法及代码示例

    Pandas 系列是带有轴标签的一维ndarray.标签不必是唯一的,但必须是可哈希的类型.该对象同时支持基于整数和基于标签的索引,并提供了许多方法来执行涉及索引的操作. Pandas Series. ...

  6. python中repeat_Python Pandas Series.repeat()用法及代码示例

    Pandas 系列是带有轴标签的一维ndarray.标签不必是唯一的,但必须是可哈希的类型.该对象同时支持基于整数和基于标签的索引,并提供了许多方法来执行涉及索引的操作. Pandas Series. ...

  7. python的describe参数_Python Pandas Series.describe()用法及代码示例

    Pandas 系列是带有轴标签的一维ndarray.标签不必是唯一的,但必须是可哈希的类型.该对象同时支持基于整数和基于标签的索引,并提供了许多方法来执行涉及索引的操作. Pandas Series. ...

  8. python中len用法_Python Pandas Series.str.len()用法及代码示例

    Python是进行数据分析的一种出色语言,主要是因为以数据为中心的Python软件包具有奇妙的生态系统. Pandas是其中的一种,使导入和分析数据更加容易. Pandas str.len()方法用于 ...

  9. python agg函数_Python Pandas Series.agg()用法及代码示例

    Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统. Pandas是其中的一种,使导入和分析数据更加容易. Pandas Series.agg()用 ...

最新文章

  1. 【Android应用开发】Android Studio 错误集锦 -- 将所有的 AS 错误集合到本文
  2. Centos7安装nginx教程!超简单
  3. 基于Dockerfile创建一个最简单的docker镜像
  4. java中Arrays类和Math类常用API简介
  5. 鼠标点击后的CSS3跑马灯效果
  6. 数据库报12516linux,ORA-12516故障解决
  7. iOS UIDatePicker
  8. 面向对象【林老师版】:绑定方法与非绑定方法(十七)
  9. Android入门笔记12
  10. 华为海思总裁深夜发文:进入至暗时刻,技术“备胎”将全部转正应敌
  11. Python11 镜像
  12. 基于 MaxCompute+PAI 的用户增长方案实践
  13. EFR32MG21 zigbee 3.0 OTA 升级实验
  14. win7中显示桌面的方式有哪些?
  15. 显卡mx150和230哪个好_MX150和GTX1050哪个好?MX150与GTX1050性能天梯图对比
  16. 网易云音乐(netease-cloud-music)无法通过图标打开,只能用命令行开启
  17. 适合中国学生的AP课程有哪些?内附课程详解
  18. 如何写一个简单的局域网游戏
  19. 油田企业实现两化融合的现实意义
  20. libvirt sanlock虚拟机锁管理器插件

热门文章

  1. STC8学习 --并口通信
  2. Nginx给指定目录加密,静态文件(设计图)原型部署
  3. 苹果cms替换资源_苹果cms批量处理数据
  4. udp丢包原因和解决
  5. 从云端到球场—从智能化数据分析看足球如何演化
  6. php如何设置页面布局,excel页面布局怎么调整
  7. 基于51单片机的智能鱼缸设计。 有原理图,程序,原文,可代做实物。 才用STC12C5A60S2,最新款国产51单片机
  8. LS1028A性能介绍-NXP Layerscape 系列功能对比-飞凌LS1028开发板评测
  9. JVM原理和优化GC清理
  10. 如何在Linux平台下重定向running进程