DataFrame字符串之分割split()、清洗drop()、合并concat()、重新建立索引reset_index() - (Python)

数据建模之前,我们从数据部门拿到数据,但是这些数据的格式往往并不是我们可以直接使用的,比如下面表中的数据(左:原数据格式)。

原数据格式id自成一列,这个很好,但是标签和标签的置信度(这个id属于这个标签的可能性) 都在一个单元格里,仅用空格分隔开来,这对数据处理的过程中很不方便。

我们需要将数据转化成右图格式(右:所需数据格式),这有利于我们用id和其他表格中的数据匹配。

原数据格式:id标签所需数据格式:idtagtag置信度
222201数学老师 0.67 父亲 0.87 儿子 0.77222201数学老师0.67
222202全职太太 0.56 孕妈 0.45222202全职太太0.56
222203大学生 0.33 服务员 0.48 社团主席 0.68222203大学生0.33
222204父亲 0.79 服务员 0.56222204父亲0.79
222205语文老师 0.89 222205语文老师0.89
222206年级长 0.86 数学老师 0.74222206年级长0.86
222207大学生 0.65 222207大学生0.65

Python代码:

import pandas as pddatafile = u'D:\\pythondata\\learn\\split.xlsx'
data = pd.read_excel(datafile)n = 3 #n表示一个id最多有多少个标签
names=data['标签'].str.split(' ',expand=True) #将标签列按照空格分割数据
names.columns=['tag','tag置信度'] * n  #分割为多列之后为列重命名data_total = pd.DataFrame(columns=['id', 'tag', 'tag置信度'])#设置一个空的DataFrame
for i in range(n):data_0i = pd.concat([data.iloc[:,:1], names.iloc[:,i*2:(i+1)*2]], axis = 1, join='outer', sort=False)data_0i = data_0i.dropna()#删除包含空值的行data_total = pd.concat([data_total, data_0i],axis=0)#向下合并数据data_total = data_total.reset_index(drop = True)#重新建立索引,代替原有的索引
print(data_total)

在实现这个格式转化的过程中,我们涉及到分割函数 split()、合并函数 concat()、删除缺失值函数 dropna()、建立索引 reset_index(),备忘,over!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475486.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 97. 交错字符串(DP)

1. 题目 给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。 示例 1: 输入: s1 "aabcc", s2 "dbbca", s3 "aadbbcbcac" 输出: true示例 2: 输入: s1 "aabcc", s2 "dbbca", s3 "aadbbbaccc&qu…

浅谈 JavaScript 编程语言的编码规范--转载

原文:http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/ 对于熟悉 C/C 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散。很容易学习,并运用到自己的代码中。…

Power BI 数据分析可视化软件入门教程

入 门 l Power BI 的引导学习 什么是Power BI? Power BI 是软件服务、应用和连接器的集合,它们协同工作以将相关数据来源转换为连贯的视觉逼真的交互式见解。 Power BI 简单且快速,能够从 Excel 电子表格或本地数据库创建快速见解。同…

分组统计 - DataFrame.groupby() 所见的各种用法 - Python代码

目录 所见 1 :日常用法 所见 2 :解决groupby.sum() 后层级索引levels上移的问题 所见 3 :解决groupby.apply() 后层级索引levels上移的问题 所见 4 :groupby函数的分组结果保存成DataFrame groupby的函数定义: Da…

LeetCode 1486. 数组异或操作

1. 题目 给你两个整数,n 和 start 。 数组 nums 定义为:nums[i] start 2*i(下标从 0 开始)且 n nums.length 。 请返回 nums 中所有元素按位异或(XOR)后得到的结果。 示例 1: 输入&#…

C 内存管理详解

程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。   1、…

对照表 - 用心整理了一批国内省份、城市、县城的对照表,用于匹配,拿走不谢

采集的数据中,企业注册地址往往都是城市名,如果你想知道这些企业分布的省份,那么就需要这样一张对照表。 文件存储位置: 百度网盘链接: https://pan.baidu.com/s/1T8aobyzXRRvDQ0NjcEBCUw 提取码: cm7g 以下是文件中的前 100 …

js 获取url的get传值函数

最进在做瞎干项目时用到的,发上了备用,主要是用的正则匹配! function getvl(name) {var reg new RegExp("(^|\\?|&)" name "([^&]*)(\\s|&|$)", "i");if (reg.test(location.href)) return unes…

LeetCode 1487. 保证文件名唯一(哈希map)

1. 题目 给你一个长度为 n 的字符串数组 names 。你将会在文件系统中创建 n 个文件夹:在第 i 分钟,新建名为 names[i] 的文件夹。 由于两个文件 不能 共享相同的文件名,因此如果新建文件夹使用的文件名已经被占用,系统会以 (k) …

线性回归 - 多元线性回归案例 - 分析步骤、输出结果详解、与Python的结果对比 -(SPSS建模)

现在用 Python 写线性回归的博客都快烂大街了,为什么还要用 SPSS 做线性回归呢?这就来说说 SPSS 存在的原因吧。 SPSS 是一个很强大的软件,不用编程,不用调参,点巴两下就出结果了,而且出来的大多是你想要的…

LeetCode 1488. 避免洪水泛滥(贪心+set二分查找)

1. 题目 你的国家有无数个湖泊,所有湖泊一开始都是空的。 当第 n 个湖泊下雨的时候,如果第 n 个湖泊是空的,那么它就会装满水,否则这个湖泊会发生洪水。 你的目标是避免任意一个湖泊发生洪水。 给你一个整数数组 rains &#xf…

R12 应付款模块(AP):预付款(prepayment)的标准处理流程

预付款的概念 财务会计的解释: 企业对于某些物资有时需要采取预先订购的方式,即按照购货合同规定预付一部分货款。这部分预先付给供货单位的订货款就构成了企业的预付账款。(来自会计学概论,要区分定金和预付款的区别!…

Python连接MySQL数据库(pymysql),DataFrame写入 MySQL(create_engine)- Python代码

模块安装 使用以下命令安装 PyMySQL: $ pip install PyMySQL 若系统不支持 pip,还可以这样安装: $ git clone https://github.com/PyMySQL/PyMySQL $ cd PyMySQL/ $ python3 setup.py install Python连接MySQL数据库 # -*- coding:utf-8…

LeetCode 391. 完美矩形(set检查顶点+面积检查)

1. 题目 我们有 N 个与坐标轴对齐的矩形, 其中 N > 0, 判断它们是否能精确地覆盖一个矩形区域。 每个矩形用左下角的点和右上角的点的坐标来表示。例如, 一个单位正方形可以表示为 [1,1,2,2]。 ( 左下角的点的坐标为 (1, 1) 以及右上角的点的坐标为 (2, 2) )。…

时间序列 - 案例按步骤详解 -(SPSS建模)

时间序列简单的说就是各时间点上形成的数值序列,通过观察历史数据的变化规律预测未来的值。在这里需要强调一点的是,时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的。 准备工作:SPSS - 中文版 SPSS 22.0 软件下…

正则表达式pcre在Android下的移植

因为项目需要在android的NDK开发中使用pcre正则表达式库,而android系统中并没有自带该库,所以就得另外移植了, 下面是移植的详细步骤: 1. 下载pcre源码,可以到http://sourceforge.net/projects/pcre/下载源码。 我这里…

LeetCode 593. 有效的正方形(数学)

1. 题目 给定二维空间中四点的坐标,返回四点是否可以构造一个正方形。 一个点的坐标(x,y)由一个有两个整数的整数数组表示。 示例: 输入: p1 [0,0], p2 [1,1], p3 [1,0], p4 [0,1] 输出: True注意: 所有输入整数都在 [-100…

特征计算 - 遍历求值提速 6 万倍 lambda...if...else(if...else...) +map() 对比 iterrows() - Python代码

Python 进行 DataFrame 数据处理的过程中,需要判断某一列中的值(条件),然后对其他两列或三列进行求和(均值/最值)等运算,并把运算结果存储在新的一列中。干说可能觉得比较晕,我们来看…

写写最近吧,关于读研、找工作

刚刚又被朋友问到为什么要选择读研的问题了。已经好多好多人问过我这样的问题,我何尝不想问问自己到底为什么要读研呢。前段时间,每天在睡觉之前都我要想出无数个理由劝服自己要坚持读研,而每天早上第一件事又是再问自己为什么要读研。 我觉得…

非线性回归 - 案例按步骤详解 -(SPSS建模)

在上一篇时间序列的文章中,偶然发现另一份数据的整体趋势很符合非线性回归关系,那么就顺势写一篇非线性回归案例的文章吧。 准备工作:SPSS - 中文版 SPSS 22.0 软件下载与安装教程 - 【附产品授权许可码,永久免费】 数据解释&am…