一、问题提出

实现如图所示的转换。

姓名 年龄
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转换为多行的练习题相关推荐

  1. Python基础教程:pd.drop_duplicates删除重复行的方法

    drop_duplicates 方法实现对数据框 DataFrame 去除特定列的重复行,返回 DataFrame 格式数据. 一.使用语法及参数 使用语法: DataFrame.drop_dupli ...

  2. python print 输出到txt_(Python基础教程之七)Python字符串操作

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  3. python字符串_(Python基础教程之七)Python字符串操作

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  4. python黑马教程ppt_,python基础教程 PPT

    python基础教程 PPT Python我这里有Python编开发,进阶,化,实战等系列视频教程,还有安装包,素材,代码内容,这里就不一一说了,全套内容一共300G左右,非常的详细,需要的请到网盘下 ...

  5. 《Python基础教程》学习笔记——条件、循环及其他语句

    Python基础教程--条件.循环及其他语句 条件.循环及其他语句 再谈 print 和 import 打印多个参数 导入时重命名 赋值魔法 序列解包 链式赋值 增强赋值 代码块:缩进的乐趣 条件和条 ...

  6. Python 基础教程(第二版)读书笔记

    Python 基础教程(第二版) 第一章 在 Python 3 中可直接使用长整数,而不必添加 L 或者 l 的后缀. print在 Python 3 中是函数. 在交互式解释器中使用 if 语句,需 ...

  7. Python基础教程学习笔记:第一章 基础知识

    Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入&q ...

  8. python基础教程博客_python基础教程(一)

    之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...

  9. python基础教程攻略-python基础教程(一)

    之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...

最新文章

  1. MATLAB神经网络样本数量太大,MATLAB搭建bp神经网络的误差特别大,但R2的值也大,求解帮我看看我的网络哪里出问题了...
  2. 【转载】PHP面向对象(OOP)编程入门教程
  3. mysql查看比较大的数据表_mysql 如何查看哪些表数据量比较大
  4. php九宫格代码,用php数字九宫格.
  5. php url传递变量,php – 在laravel中通过url传递变量
  6. Tomcat提示Null component
  7. PyTorch框架学习十二——损失函数
  8. Log--日志变大原因总结
  9. markdown 本地链接_Markdown从入门到入坑
  10. php 按行读取 太慢,3分钟短文 | 大神救我!18G的大文件,PHP咋按行读取?
  11. 微信蓝牙协议一:协议文档查阅方法和空中数据解析示例
  12. libjpeg-turbo编译流程
  13. shell教你如何批量解压缩——unzip命令
  14. 【Java】NIO 仿照zookeeper 写的 nio客户端
  15. 文本分割之水平投影法基于OpenCV(python)版实现
  16. lol无限火力服务器卡顿,LOL无限火力无限彗星BUG是什么? 无限彗星超强卡BUG技巧Get起来...
  17. OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f6cb1055000, 16384, 0) failed; erro
  18. 【模电知识总结】二极管
  19. iTOP-RK3568开发板Ubuntu系统修改dns
  20. 机器学习做自动聊天机器人_我和一个治疗机器人聊天,缓解了我对Covid的恐惧。 这很奇怪。

热门文章

  1. 如何保留linux中yum安装后的rpm软件包
  2. Ant编译、FatJar编译方式
  3. cat /proc/maps 进程内存映射【转】
  4. ASP.NET Core 介绍和项目解读
  5. LBaaS 实现机制 - 每天5分钟玩转 OpenStack(125)
  6. Mybatis3.4.x技术内幕(二十二):Mybatis一级、二级缓存原理分析
  7. 找找Amazon的A9算法更新和变化的蛛丝马迹!
  8. python写linux脚本_Linux下设置python脚本文件为服务
  9. 【学习笔记】区块链应用判断准则
  10. 【学习笔记】37、用正则表达式解析和提取数据