Python对Excel不同的行分别复制不同的次数

这篇具有很好参考价值的文章主要介绍了Python对Excel不同的行分别复制不同的次数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  本文介绍基于Python语言,读取Excel表格文件数据,并将其中符合我们特定要求那一行加以复制指定的次数,而不符合要求那一行则不复制;并将所得结果保存为新的Excel表格文件的方法。

  这里需要说明,在我们之前的文章Python读取Excel文件并复制指定的数据行(https://fkxxgis.blog.csdn.net/article/details/131615610)中,也介绍过实现类似需求的另一种Python代码,大家如果有需要可以查看上述文章;而上述文章中的代码,由于用到了DataFrame.append()这一个在最新版本pandas库中取消的方法,因此有的时候可能会出现报错的情况;且本文中的需求较之上述文章有进一步的提升,因此大家主要参考本文即可。

  首先,我们来明确一下本文的具体需求。现有一个Excel表格文件,在本文中我们就以.csv格式的文件为例;其中,如下图所示,这一文件中有一列(也就是inf_dif这一列)数据比较关键,我们希望对这一列数据加以处理——对于每一行,如果这一行的这一列数据的值在指定的范围内,那么就将这一行复制指定的次数(复制的意思相当于就是,新生成一个和当前行一摸一样数据的新行);而对于符合我们要求的行,其具体要复制的次数也不是固定的,也要根据这一行的这一列数据的值来判断——比如如果这个数据在某一个值域内,那么这一行就复制10次;而如果在另一个值域内,这一行就复制50次等。

Python对Excel不同的行分别复制不同的次数,数据统计与分析,计算机高效操作,Python学习与应用,Python,Excel,复制数据,复制行,数据重复,复制多次

  知道了需求,我们就可以开始代码的书写。其中,本文用到的具体代码如下所示。

# -*- coding: utf-8 -*-
"""
Created on Thu Jul  6 22:04:48 2023

@author: fkxxgis
"""

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

original_file_path = "E:/01_Reflectivity/99_Model/02_Extract_Data/26_Train_Model_New/Train_Model_0715.csv"
result_file_path = "E:/01_Reflectivity/99_Model/02_Extract_Data/26_Train_Model_New/Train_Model_0715_Over_NIR_0717_2.csv"

df = pd.read_csv(original_file_path)
duplicated_num_0 = 70
duplicated_num_1 = 35
duplicated_num_2 = 7
duplicated_num_3 = 2

num = [duplicated_num_0 if (value <= -0.12 or value >= 0.12) else duplicated_num_1 if (value <= -0.1 or value >= 0.1) \
else duplicated_num_2 if (value <= -0.07 or value >= 0.07) else duplicated_num_3 if (value <= -0.03 or value >= 0.03) \
else 1 for value in df.inf_dif]
duplicated_df = df.loc[np.repeat(df.index.values, num)]

plt.figure(0)
plt.hist(df["inf_dif"], bins = 50)
plt.figure(1)
plt.hist(duplicated_df["inf_dif"], bins = 50)

duplicated_df.to_csv(result_file_path, index=False)

  其中,上述代码的具体含义如下。

  首先,我们需要导入所需的库,包括numpypandasmatplotlib.pyplot等,用于后续的数据处理和绘图操作。接下来,即可开始读取原始数据,我们使用pd.read_csv()函数读取文件,并将其存储在一个DataFrame对象df中;这里的原始文件路径由original_file_path变量指定。

  随后,我们开始设置重复次数。在这里,我们根据特定的条件,为每个值设定重复的次数。根据inf_dif列的值,将相应的重复次数存储在num列表中。根据不同的条件,使用条件表达式(if-else语句)分别设定了不同的重复次数。

  接下来,我们使用loc函数和np.repeat()函数,将数据按照重复次数复制,并将结果存储在duplicated_df中。

  最后,为了对比我们数据重复的效果,可以绘制直方图。在这里,我们使用matplotlib.pyplot库中的hist()函数绘制了两个直方图;其中,第一个直方图是原始数据集dfinf_dif列的直方图,第二个直方图是复制后的数据集duplicated_dfinf_dif列的直方图。通过指定bins参数,将数据分成50个区间。

  完成上述操作后,我们即可保存数据。将复制后的数据集duplicated_df保存为.csv格式文件,路径由result_file_path变量指定。

  执行上述代码,我们将获得如下所示的两个直方图;其中,第一个直方图是原始数据集dfinf_dif列的直方图,也就是还未进行数据复制的直方图。

Python对Excel不同的行分别复制不同的次数,数据统计与分析,计算机高效操作,Python学习与应用,Python,Excel,复制数据,复制行,数据重复,复制多次

  其次,第二个直方图是复制后的数据集duplicated_dfinf_dif列的直方图。

Python对Excel不同的行分别复制不同的次数,数据统计与分析,计算机高效操作,Python学习与应用,Python,Excel,复制数据,复制行,数据重复,复制多次

  可以看到,经过前述代码的处理,我们原始的数据分布情况已经有了很明显的改变。

  至此,大功告成。

欢迎关注:疯狂学习GIS文章来源地址https://www.toymoban.com/news/detail-574127.html

到了这里,关于Python对Excel不同的行分别复制不同的次数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解三维旋转矩阵——R的行和列分别有什么含义

      三维旋转矩阵描述的是在三维空间中物体的旋转关系,我们难以直观地从旋转矩阵上看出旋转的具体情况。但是,它可以由欧拉角变换而来,也就是可以视为绕着xyz三个轴分别进行旋转后结果的叠加,是一系列三角函数相乘的结果。比如,通常我们所使用的rpy角:   关

    2024年02月02日
    浏览(35)
  • C C++ Java python 分别写出不同表白girlfriend的爱心动态代码实现

    C `` #include stdio.h #include stdlib.h #include windows.h void heart_animation() { int i, j, k; for (i = 1; i = 6; i++) { for (j = -3; j = 3; j++) { for (k = -4; k = 4; k++) { if (abs(j) + abs(k) i * 2) { printf(“I”); } else { printf(\\\" “); } } printf(”n\\\"); } Sleep(500); system(“cls”); } } int main() { heart_animation(); return 0; } `` C++ `` 动态

    2023年04月09日
    浏览(35)
  • 【云计算与大数据计算】Hadoop MapReduce实战之统计每个单词出现次数、单词平均长度、Grep(附源码 )

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 下面通过WordCount,WordMean等几个例子讲解MapReduce的实际应用,编程环境都是以Hadoop MapReduce为基础 WordCount用于计算文件中每个单词出现的次数,非常适合采用MapReduce进行处理,处理单词计数问题的思路很简单,在 Map阶段处理每

    2024年02月16日
    浏览(33)
  • 【3D 图像分割】基于 Pytorch 的 3D 图像分割6(数据预处理之LIDC-IDRI 标签 xml 标签转储及标记次数统计 )

    由于之前哔站作者整理的 LUNA16 数据处理方式过于的繁琐,于是,本文就对 LUNA16 数据做一个新的整理,最终得到的数据和形式是差不多的。但是,主要不同的是代码逻辑比较的简单,便于理解。 对于 LUNA16 数据集的学习,可以去参考这里:【3D 图像分类】基于 Pytorch 的 3D 立

    2024年02月04日
    浏览(37)
  • Python3,多种方法,同时执行多条SQL语句,并把查询结果分别写入不同Sheet页,妥妥的学到了。

    小屌丝 :鱼哥,我想请教一个问题。 小鱼 :国庆假期你经历了什么,让你变得如此的 “ 善良 ”? 小屌丝 :别这么说,我一直很善良,至少,很正直… 小鱼 :打住,直接点, 你有什么需要帮助的? 小屌丝 :我就是想把查询的结果也入到excel表中 小鱼 :然后呢? 小屌丝 :

    2024年02月08日
    浏览(44)
  • 数据结构基于不同方式词频统计和查找

    实践题目 : 基于不同策略的英文单词的词频统计和检索系统 、实验目的 掌握基于顺序表的顺序查找、基于链表的顺序查找、折半查找)、二叉排序树和哈希表(包括基于开放地址法的哈希查找)   实验内容    一篇英文文章存储在一个文本文件中,然后分别基于线性表、

    2024年02月12日
    浏览(35)
  • 苍穹外卖day12 (Apache POI) 数据统计-Excel报表

    工作台用于展示各项运营数据,在图形报表中很多方法都已实现,这部分的业务逻辑也差不多,只是返回的数据类型不一样。 POI用于操作 Excel 文件,可以对Excel文件进行读写操作 导出运营数据报表首先就是查询近30天的运营数据,然后通过POI将查询到的运营数据写入模板文件

    2024年04月24日
    浏览(22)
  • 【ChatGPT】如何利用ChatGPT来快速统计Excel数据?

    自从人工智能横空而出,它在人们的生活中产生了巨大的影响。尤其在企业办公领域,借助人工智能的力量,能够迅速产出丰富多样的内容,无论对于企业还是个人都具有重要的帮助。 想象一下,通过与人工智能的合作,您可以轻松地生成各种所需的文档、报告和演示稿,节

    2024年02月07日
    浏览(38)
  • 批量将excel中第5列中值大于500的行合并

    您可以使用Excel的筛选和合并功能来批量将第5列中值大于500的行合并。 以下是具体的操作步骤: 1. 打开Excel文件,定位到包含数据的工作表。 2. 选中整个工作表的范围,或者只选中需要筛选的列和行范围。 3. 在Excel菜单栏中选择\\\"数据\\\"选项卡。 4. 在\\\"排序与筛选\\\"区域中,点击

    2024年02月12日
    浏览(24)
  • 多次复制Excel符合要求的数据行:Python批量实现

      本文介绍基于 Python 语言,读取 Excel 表格文件数据,并基于其中 某一列数据的值 ,将 这一数据处于指定范围 的 那一行 加以复制,并将所得结果保存为新的 Excel 表格文件的方法。   首先,我们来明确一下本文的具体需求。现有一个 Excel 表格文件,在本文中我们就以

    2024年04月08日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包