Python基础教程:一个单列split转换为多行的练习题
一、问题提出
实现如图所示的转换。
姓名 | 年龄 |
---|---|
A | 15 |
B、C | 16 |
用Python转换为:
姓名 | 年龄 |
---|---|
A | 15 |
B | 16 |
C | 16 |
二、解决问题
1.方法一:堆叠
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 构建测试数据
import pandas as pd
df = pd.DataFrame({'name':['a', 'b,c'],'age':[15, 16]})
print(df)df.set_index('age')['name'].str.split(',', expand=True).stack().reset_index(level=1, drop=True).reset_index(name='name')
'''age name
0 15 a
1 16 b
2 16 c
'''
2.方法二:循环
def shift(arr1, arr2):arr = []for k,v in dict(zip(arr1, arr2)).items():# print(k)# print(v)if isinstance(v, str):for s in v.split(','):arr.append({'name':k, 'age':s})return pd.DataFrame(arr)shift(df.age, df.name)
'''age name
0 a 15
1 b 16
2 c 16
'''
Python基础教程:一个单列split转换为多行的练习题相关推荐
- Python基础教程:pd.drop_duplicates删除重复行的方法
drop_duplicates 方法实现对数据框 DataFrame 去除特定列的重复行,返回 DataFrame 格式数据. 一.使用语法及参数 使用语法: DataFrame.drop_dupli ...
- python print 输出到txt_(Python基础教程之七)Python字符串操作
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- python字符串_(Python基础教程之七)Python字符串操作
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- python黑马教程ppt_,python基础教程 PPT
python基础教程 PPT Python我这里有Python编开发,进阶,化,实战等系列视频教程,还有安装包,素材,代码内容,这里就不一一说了,全套内容一共300G左右,非常的详细,需要的请到网盘下 ...
- 《Python基础教程》学习笔记——条件、循环及其他语句
Python基础教程--条件.循环及其他语句 条件.循环及其他语句 再谈 print 和 import 打印多个参数 导入时重命名 赋值魔法 序列解包 链式赋值 增强赋值 代码块:缩进的乐趣 条件和条 ...
- Python 基础教程(第二版)读书笔记
Python 基础教程(第二版) 第一章 在 Python 3 中可直接使用长整数,而不必添加 L 或者 l 的后缀. print在 Python 3 中是函数. 在交互式解释器中使用 if 语句,需 ...
- Python基础教程学习笔记:第一章 基础知识
Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入&q ...
- python基础教程博客_python基础教程(一)
之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...
- python基础教程攻略-python基础教程(一)
之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...
最新文章
- MATLAB神经网络样本数量太大,MATLAB搭建bp神经网络的误差特别大,但R2的值也大,求解帮我看看我的网络哪里出问题了...
- 【转载】PHP面向对象(OOP)编程入门教程
- mysql查看比较大的数据表_mysql 如何查看哪些表数据量比较大
- php九宫格代码,用php数字九宫格.
- php url传递变量,php – 在laravel中通过url传递变量
- Tomcat提示Null component
- PyTorch框架学习十二——损失函数
- Log--日志变大原因总结
- markdown 本地链接_Markdown从入门到入坑
- php 按行读取 太慢,3分钟短文 | 大神救我!18G的大文件,PHP咋按行读取?
- 微信蓝牙协议一:协议文档查阅方法和空中数据解析示例
- libjpeg-turbo编译流程
- shell教你如何批量解压缩——unzip命令
- 【Java】NIO 仿照zookeeper 写的 nio客户端
- 文本分割之水平投影法基于OpenCV(python)版实现
- lol无限火力服务器卡顿,LOL无限火力无限彗星BUG是什么? 无限彗星超强卡BUG技巧Get起来...
- OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f6cb1055000, 16384, 0) failed; erro
- 【模电知识总结】二极管
- iTOP-RK3568开发板Ubuntu系统修改dns
- 机器学习做自动聊天机器人_我和一个治疗机器人聊天,缓解了我对Covid的恐惧。 这很奇怪。
热门文章
- 如何保留linux中yum安装后的rpm软件包
- Ant编译、FatJar编译方式
- cat /proc/maps 进程内存映射【转】
- ASP.NET Core 介绍和项目解读
- LBaaS 实现机制 - 每天5分钟玩转 OpenStack(125)
- Mybatis3.4.x技术内幕(二十二):Mybatis一级、二级缓存原理分析
- 找找Amazon的A9算法更新和变化的蛛丝马迹!
- python写linux脚本_Linux下设置python脚本文件为服务
- 【学习笔记】区块链应用判断准则
- 【学习笔记】37、用正则表达式解析和提取数据