最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python對Excel不同的行分別復(fù)制不同的次數(shù)

 更新時(shí)間:2023年07月18日 11:26:10   作者:瘋狂學(xué)習(xí)GIS  
這篇文章主要介紹了如何利用Python實(shí)現(xiàn)讀取Excel表格文件數(shù)據(jù),并將其中符合我們特定要求的那一行加以復(fù)制指定的次數(shù),感興趣的小伙伴可以學(xué)習(xí)一下

本文介紹基于Python語言,讀取Excel表格文件數(shù)據(jù),并將其中符合我們特定要求那一行加以復(fù)制指定的次數(shù),而不符合要求那一行則不復(fù)制;并將所得結(jié)果保存為新的Excel表格文件的方法。

這里需要說明,在我們之前的文章Python讀取Excel文件并復(fù)制指定的數(shù)據(jù)行中,也介紹過實(shí)現(xiàn)類似需求的另一種Python代碼,大家如果有需要可以查看上述文章;而上述文章中的代碼,由于用到了DataFrame.append()這一個(gè)在最新版本pandas庫中取消的方法,因此有的時(shí)候可能會出現(xiàn)報(bào)錯(cuò)的情況;且本文中的需求較之上述文章有進(jìn)一步的提升,因此大家主要參考本文即可。

首先,我們來明確一下本文的具體需求。現(xiàn)有一個(gè)Excel表格文件,在本文中我們就以.csv格式的文件為例;其中,如下圖所示,這一文件中有一列(也就是inf_dif這一列)數(shù)據(jù)比較關(guān)鍵,我們希望對這一列數(shù)據(jù)加以處理——對于每一行,如果這一行的這一列數(shù)據(jù)的值在指定的范圍內(nèi),那么就將這一行復(fù)制指定的次數(shù)(復(fù)制的意思相當(dāng)于就是,新生成一個(gè)和當(dāng)前行一摸一樣數(shù)據(jù)的新行);而對于符合我們要求的行,其具體要復(fù)制的次數(shù)也不是固定的,也要根據(jù)這一行的這一列數(shù)據(jù)的值來判斷——比如如果這個(gè)數(shù)據(jù)在某一個(gè)值域內(nèi),那么這一行就復(fù)制10次;而如果在另一個(gè)值域內(nèi),這一行就復(fù)制50次等。

知道了需求,我們就可以開始代碼的書寫。其中,本文用到的具體代碼如下所示。

# -*- 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)

其中,上述代碼的具體含義如下。

首先,我們需要導(dǎo)入所需的庫,包括numpy、pandasmatplotlib.pyplot等,用于后續(xù)的數(shù)據(jù)處理和繪圖操作。接下來,即可開始讀取原始數(shù)據(jù),我們使用pd.read_csv()函數(shù)讀取文件,并將其存儲在一個(gè)DataFrame對象df中;這里的原始文件路徑由original_file_path變量指定。

隨后,我們開始設(shè)置重復(fù)次數(shù)。在這里,我們根據(jù)特定的條件,為每個(gè)值設(shè)定重復(fù)的次數(shù)。根據(jù)inf_dif列的值,將相應(yīng)的重復(fù)次數(shù)存儲在num列表中。根據(jù)不同的條件,使用條件表達(dá)式(if-else語句)分別設(shè)定了不同的重復(fù)次數(shù)。

接下來,我們使用loc函數(shù)和np.repeat()函數(shù),將數(shù)據(jù)按照重復(fù)次數(shù)復(fù)制,并將結(jié)果存儲在duplicated_df中。

最后,為了對比我們數(shù)據(jù)重復(fù)的效果,可以繪制直方圖。在這里,我們使用matplotlib.pyplot庫中的hist()函數(shù)繪制了兩個(gè)直方圖;其中,第一個(gè)直方圖是原始數(shù)據(jù)集dfinf_dif列的直方圖,第二個(gè)直方圖是復(fù)制后的數(shù)據(jù)集duplicated_dfinf_dif列的直方圖。通過指定bins參數(shù),將數(shù)據(jù)分成50個(gè)區(qū)間。

完成上述操作后,我們即可保存數(shù)據(jù)。將復(fù)制后的數(shù)據(jù)集duplicated_df保存為.csv格式文件,路徑由result_file_path變量指定。

執(zhí)行上述代碼,我們將獲得如下所示的兩個(gè)直方圖;其中,第一個(gè)直方圖是原始數(shù)據(jù)集dfinf_dif列的直方圖,也就是還未進(jìn)行數(shù)據(jù)復(fù)制的直方圖。

其次,第二個(gè)直方圖是復(fù)制后的數(shù)據(jù)集duplicated_dfinf_dif列的直方圖。

可以看到,經(jīng)過前述代碼的處理,我們原始的數(shù)據(jù)分布情況已經(jīng)有了很明顯的改變。

到此這篇關(guān)于Python對Excel不同的行分別復(fù)制不同的次數(shù)的文章就介紹到這了,更多相關(guān)Python Excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)自定義Jupyter魔法命令

    Python實(shí)現(xiàn)自定義Jupyter魔法命令

    相信大家都用過?jupyter,也用過里面的魔法命令,這些魔法命令都以%或者%%開頭。用法還是比較簡單的,但是我們能不能自定義魔法命令呢?本文就來教大家如何自定義Jupyter魔法命令
    2022-08-08
  • 在Python中使用colorama庫給輸出添加顏色

    在Python中使用colorama庫給輸出添加顏色

    文章介紹了colorama庫,這是一個(gè)用于Python的命令行彩色打印的簡單庫,它可以幫助用戶輕松地實(shí)現(xiàn)彩色的打印效果,使輸出結(jié)果更加清晰易讀,文章還詳細(xì)介紹了如何使用colorama庫,包括基本用法、高級技巧、潛在問題和其他需要注意的點(diǎn),需要的朋友可以參考下
    2026-04-04
  • python的一些加密方法及python 加密模塊

    python的一些加密方法及python 加密模塊

    這篇文章主要介紹了python的一些加密方法及python加密模塊,本文通過實(shí)例文字相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-07-07
  • Python使用tablib生成excel文件的簡單實(shí)現(xiàn)方法

    Python使用tablib生成excel文件的簡單實(shí)現(xiàn)方法

    這篇文章主要介紹了Python使用tablib生成excel文件的方法,結(jié)合實(shí)例形式分析了tablib模塊的相關(guān)使用技巧,需要的朋友可以參考下
    2016-03-03
  • 利用scikitlearn畫ROC曲線實(shí)例

    利用scikitlearn畫ROC曲線實(shí)例

    這篇文章主要介紹了利用scikitlearn畫ROC曲線實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python import與from import使用和區(qū)別解讀

    Python import與from import使用和區(qū)別解讀

    Python程序可以調(diào)用一組基本的函數(shù)(即內(nèi)建函數(shù)),比如print()、input()和len()等函數(shù)。接下來通過本文給大家介紹Python import與from import使用及區(qū)別介紹,感興趣的朋友一起看看吧
    2021-09-09
  • python實(shí)現(xiàn)定時(shí)發(fā)送郵件到指定郵箱

    python實(shí)現(xiàn)定時(shí)發(fā)送郵件到指定郵箱

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)定時(shí)發(fā)送郵件到指定郵箱,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Python使用tkinter實(shí)現(xiàn)搖骰子小游戲功能的代碼

    Python使用tkinter實(shí)現(xiàn)搖骰子小游戲功能的代碼

    這篇文章主要介紹了Python使用tkinter實(shí)現(xiàn)的搖骰子小游戲功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python中橫向或縱向拼接兩個(gè)表方法實(shí)例

    Python中橫向或縱向拼接兩個(gè)表方法實(shí)例

    最近要將兩個(gè)表格合并,Python處理起來很簡單,所以這篇文章主要給大家介紹了關(guān)于Python中橫向或縱向拼接兩個(gè)表的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Python中變量和數(shù)據(jù)類型的使用方法和避坑指南

    Python中變量和數(shù)據(jù)類型的使用方法和避坑指南

    這篇文章主要為大家詳細(xì)介紹了Python中變量和數(shù)據(jù)類型的使用方法和避坑指南,主要包括5個(gè)基本數(shù)據(jù)類型和類型查看與轉(zhuǎn)換,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-06-06

最新評論

长武县| 美姑县| 黔江区| 新闻| 阿坝县| 上栗县| 英山县| 民勤县| 怀宁县| 石泉县| 邮箱| 道孚县| 合川市| 吉林省| 阜康市| 大埔区| 威信县| 永川市| 泰兴市| 临桂县| 武邑县| 房山区| 饶阳县| 彭泽县| 开封市| 河曲县| 任丘市| 高安市| 遵义市| 香河县| 灯塔市| 达州市| 云龙县| 登封市| 临湘市| 松阳县| 工布江达县| 商河县| 德令哈市| 胶南市| 融水|