PANDAS面板数据转换为dict字典数据
我们来总结几种将dataframe转换为字典的方法。1.使用 to_dict() 函数将 Pandas DataFrame 转换为字典Pandas to_dict() 函数将一个 DataFrame 转换为一个字典。参数决定了字典的格式和键值对的关联方式。下面是一个使用 to_dict() 将 DataFrame 转换为 Dictionary 的基本示例。import pandas as pd
```python
df = pd.DataFrame([['Jay',16,'BBA'],['Jack',19,'BTech'],['Mark',18,'BSc']],columns = ['Name','Age','Course'])d1 = df.to_dict()
print(d1)
输出:
{'Name': {0: 'Jay', 1: 'Jack', 2: 'Mark'}, 'Age': {0: 16, 1: 19, 2: 18}, 'Course': {0: 'BBA', 1: 'BTech', 2: 'BSc'}}
正如你在输出中看到的,列名被转换为键,每条记录作为值,索引作为它们的键。2.Pandas DataFrame 转换字典的方法我们可以通过参数list、records、series、index、split和dict来改变最终字典的格式。例如,当我们传递list和series作为参数时,我们将列名作为键,但值对分别被转换为列表和系列行。下面的例子将证明这一点。import pandas as pddf = pd.DataFrame([['Jay',16,'BBA'],['Jack',19,'BTech'],['Mark',18,'BSc']],columns = ['Name','Age','Course'])d_list = df.to_dict('list')
print(d_list)d_series = df.to_dict('series')
print(d_series)输出:{'Name': ['Jay', 'Jack', 'Mark'], 'Age': [16, 19, 18], 'Course': ['BBA', 'BTech', 'BSc']}{'Name': 0 Jay
1 Jack
2 Mark
Name: Name, dtype: object, 'Age': 0 16
1 19
2 18
Name: Age, dtype: int64, 'Course': 0 BBA
1 BTech
2 BSc
Name: Course, dtype: object}3.Pandas DataFrame 转换为字典列表我们也可以将每一行作为一个单独的字典传递给函数 records。最后的结果是一个列表,每一行都是一个字典。例如:import pandas as pddf = pd.DataFrame([['Jay',16,'BBA'],['Jack',19,'BTech'],['Mark',18,'BSc']], columns = ['Name','Age','Course'])d_records = df.to_dict('records')
print(d_records)输出:[{'Name': 'Jay', 'Age': 16, 'Course': 'BBA'}, {'Name': 'Jack', 'Age': 19, 'Course': 'BTech'}, {'Name': 'Mark', 'Age': 18, 'Course': 'BSc'}]python基础知识资料分享给大家~~~ 获取方式:【资料免费领】| 程序员必备指南+Python学习资料,0元抱走!4.Pandas DataFrame 按行转为字典但是在很多情况下,我们可能不希望列名作为字典的键。对于这种情况,我们可以传递index来使 DataFrame 索引作为键。下面的代码片段展示了这一点。import pandas as pddf = pd.DataFrame([['Jay',16,'BBA'],['Jack',19,'BTech'],['Mark',18,'BSc']], columns = ['Name','Age','Course'])d_index = df.to_dict('index')
print(d_index)输出:{0: {'Name': 'Jay', 'Age': 16, 'Course': 'BBA'}, 1: {'Name': 'Jack', 'Age': 19, 'Course': 'BTech'}, 2: {'Name': 'Mark', 'Age': 18, 'Course': 'BSc'}}5.Dataframe 转为以一列为键的字典但是,如果我们喜欢用一列的元素作为键,而用其他列的元素作为值呢?这可以通过简单地将所需的列作为 DataFrame 的索引,并使用 .T() 函数对其进行转置来实现。例子:import pandas as pddf = pd.DataFrame([['Jay',16,'BBA'],['Jack',19,'BTech'],['Mark',18,'BSc']], columns = ['Name','Age','Course'])d_names = df.set_index('Name').T.to_dict('list')
print(d_names)输出:{'Jay': [16, 'BBA'], 'Jack': [19, 'BTech'], 'Mark': [18, 'BSc']}6.使用 dict() 和 zip() 函数将 Pandas DataFrame 转为字典Python dict() 函数也可以将 Pandas DataFrame 转换为字典。我们还应该使用 zip() 函数,将各个列作为它的参数来创建并行迭代器。然后 zip() 函数将在每次迭代中产生一行的所有值。import pandas as pddf = pd.DataFrame([['Jay',16,'BBA'],['Jack',19,'BTech'],['Mark',18,'BSc']], columns = ['Name','Age','Course'])d = dict([(i,[a,b]) for i,a,b in zip(df['Name'], df['Age'],df['Course'])])
print(d)
输出:
{'Jay': [16, 'BBA'], 'Jack': [19, 'BTech'], 'Mark': [18, 'BSc']}多动手,多练习,多理解,加
PANDAS面板数据转换为dict字典数据相关推荐
- [工具库]JOJSONBuilder工具类——一键把多个bean对象数据转换为JSON格式数据
本人大四即将毕业的准程序员(JavaSE.JavaEE.android等)一枚,小项目也做过一点,于是乎一时兴起就写了一些工具. 我会在本博客中陆续发布一些平时可能会用到的工具. 代码质量可能不是很好 ...
- [工具库]JOXMLBuilder工具类——一键把多个bean对象数据转换为XML格式数据
本人大四即将毕业的准程序员(JavaSE.JavaEE.android等)一枚,小项目也做过一点,于是乎一时兴起就写了一些工具. 我会在本博客中陆续发布一些平时可能会用到的工具. 代码质量可能不是很好 ...
- 将正常表格数据转换为横版数据(js实现)
将正常表格数据转换为横版数据 在维护一个看板系统的时候遇到一个有意思的问题 一张正常表的数据看起来应该是这样的 //列设置 const column:[{field:'name',title:'姓名' ...
- JavaScript数组格式的数据转换为json格式数据
vue + JavaScript 把数组格式的数据转换为json格式数据 <!DOCTYPE html> <html lang="en"><head& ...
- EXCEL公式-文本型数据转换为数值型数据
从后台导出的销售数据中,金额.订单数等均为文本型数据,无法进行求和计算. 这个时候可以通过*1将文本型数据快速转换为数值型数据. 如下所示: 其中clean函数用于去除字符串中的非打印字符,如Tab制 ...
- 将excel表格数据转换为xml文本数据
原文:http://blog.javayc.com/archives/12 这篇blog主要是讲述java中poi读取excel,并将excel中的数据转化为xml文本中的数据,而excel的版本包括 ...
- python统计库存_通过Python中的pandas将每日库存数据转换为每周库存数据
我有一个存储每日数据的DataFrame,如下所示:Date Open High Low Close Volume 2010-01-04 38.660000 39.299999 38.509998 3 ...
- clob大数据转换为多行数据
--创建类型 CREATE OR REPLACE TYPE picid_rowtype as object(in_picid nvarchar2(50),in_order number) CREATE ...
- ASL数据转换为ROS bag数据
故跬步不休,跛鳖千里:累积不辍,可成丘阜.--(西汉)刘安<淮南子·说林训> 差不多从夏天的时候开始就一直在找有没有什么方法可以生成ROS bag数据,当时只找到了录制的方法,使用图片等原 ...
最新文章
- Selenium3自动化测试——23.自动发送邮件功能
- Chrome原生工具实现长截图
- 15. 二维数组中的查找【难度: 一般 / 知识点: 思维】
- py-faster-rcnn用自己的数据训练模型
- PHP代码优化的细节
- 开源大数据周刊-第37期
- 突发!甲骨文严查Java授权,很多公司连夜卸载了JDK,启用OpenJDK 替代....
- ad敷铜后还有部分飞线_眼花缭乱!超级无敌的飞线大法,打造一把超低功耗无线机械键盘...
- 线性代数mit18.06读课本-D1-1.1
- 洛谷再分肥宅水c语言,【菜鸟进阶之路】P5706【深基2.例8】再分肥宅水 - 洛谷
- 英特尔显卡不支持自定义分辨率N卡解决办法
- Sicily 2014 Dairy Queen
- 〖算法〗-- 排序lowB三人组:冒泡排序、选择排序、 插入排序
- ftp服务器上传文件卡顿,FlashFXP连接FTP服务器很慢,原因可能是这样
- python 远程操作Sqlite3
- flutter 抓包使用教程
- sql-lab 通关Less1 -65(深入学习)
- 四:MySQL 表介绍
- Github复现之D-LinkNet(补全了验证部分代码,效果还行)
- 张帆:人类移民火星最大的问题是缺少适宜的大气