欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python DataFrame實現(xiàn)固定周期內統(tǒng)計每列的非零值

 更新時間:2024年09月12日 07:37:09   作者:南洲.  
在數(shù)據(jù)處理中,使用DataFrame統(tǒng)計固定周期內每列的非零值數(shù)量是一種常見需求,通過將數(shù)據(jù)分組并使用計數(shù)函數(shù),可以方便地實現(xiàn)此目標,具體方法包括首先計算每列的0值個數(shù),然后通過總數(shù)減去0值個數(shù)得到非零值的數(shù)量

DataFrame實現(xiàn)固定周期內統(tǒng)計每列的非零值

1、概述

最近做一個數(shù)值統(tǒng)計,統(tǒng)計固定周期內(比如100行統(tǒng)一次)每列的非零值,實現(xiàn)不難,先統(tǒng)計0值個數(shù),再計算非零值個數(shù),主要是有些關于dataframe的操作技巧可以作為以后的參考。

data.csv文件數(shù)據(jù)示例格式如下:

想要得到的結果為:

2、代碼

import pandas as pd

def non_zeros_count(df):
    s = 0
    calc_interval = 5   # 統(tǒng)計周期數(shù)
    new_columns = []
    for i in range(len(df.columns)):
        new_columns.append(df.columns[i]+'_non_zero_count') # 重新組織列名
    non_zeros_count = pd.DataFrame(columns=df.columns[1:])  # 新建dataframe 儲存最后統(tǒng)計結果(沒有計算第一列“時間”)

    # 對所有數(shù)據(jù)按照每 “calc_interval” 計算每個字段中的非0個數(shù)
    while s + calc_interval <= df.shape[0]:
        data_piece = df.iloc[s:s + calc_interval, 1:]
        count_zero = data_piece.apply(lambda x: x.value_counts().get(0.0, 0.0))  # 0值個數(shù)
        # np.count_nonzero(data_piece,axis = 0)   #這種方法也可以得到,但是得到的是類型是ndarray
        non_zeros = calc_interval - count_zero  # 非零值個數(shù)(每列計算周期內的總數(shù)-每列的0值數(shù))
        non_zeros_to_frame = non_zeros.to_frame()  # series轉dataframe
        non_zeros_transp = pd.DataFrame(non_zeros_to_frame.values.T,
                                        index=non_zeros_to_frame.columns,
                                        columns=non_zeros_to_frame.index)  # 取轉置
        non_zeros_count = pd.concat([non_zeros_count, non_zeros_transp])  # 數(shù)據(jù)合并
        s = s + calc_interval

    non_zeros_count.index = [i for i in range(non_zeros_count.shape[0])]
    # non_zeros_count.values.reshape(30,24) # dataframe
    non_zeros_count.columns = new_columns[1:] # 重新修改列名
    non_zeros_count.to_csv('./non_zeros_count.csv',encoding= 'utf-8')

if __name__=='__main__':

    sv_data = pd.read_csv('data.csv',encoding='utf-8')
    non_zeros_count(sv_data)

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Django models filter篩選條件詳解

    Django models filter篩選條件詳解

    這篇文章主要介紹了Django models filter篩選條件詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python實現(xiàn)新浪博客備份的方法

    Python實現(xiàn)新浪博客備份的方法

    這篇文章主要介紹了Python實現(xiàn)新浪博客備份的方法,涉及Python正則操作,字符串操作及文本操作的相關技巧,需要的朋友可以參考下
    2016-04-04
  • 解決ToPILImage時出現(xiàn)維度報錯問題pic should be 2/3 dimensional. Got 4 dimensions.

    解決ToPILImage時出現(xiàn)維度報錯問題pic should be 2/3 d

    這篇文章主要介紹了解決ToPILImage時出現(xiàn)維度報錯問題pic should be 2/3 dimensional. Got 4 dimensions.具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python基礎之while循環(huán)、for循環(huán)詳解及舉例

    python基礎之while循環(huán)、for循環(huán)詳解及舉例

    所謂循環(huán)結構就是程序中控制某條或某些指令重復執(zhí)行的結構,下面這篇文章主要給大家介紹了關于python基礎之while循環(huán)、for循環(huán)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • python通過zlib實現(xiàn)壓縮與解壓字符串的方法

    python通過zlib實現(xiàn)壓縮與解壓字符串的方法

    這篇文章主要介紹了python通過zlib實現(xiàn)壓縮與解壓字符串的方法,較為詳細的介紹了zlib的用法及使用zlib.compressobj和zlib.decompressobj對文件進行壓縮解壓的方法,需要的朋友可以參考下
    2014-11-11
  • Python3爬蟲學習之MySQL數(shù)據(jù)庫存儲爬取的信息詳解

    Python3爬蟲學習之MySQL數(shù)據(jù)庫存儲爬取的信息詳解

    這篇文章主要介紹了Python3爬蟲學習之MySQL數(shù)據(jù)庫存儲爬取的信息,涉及Python3針對mysql數(shù)據(jù)庫的連接、信息存儲等相關操作技巧,需要的朋友可以參考下
    2018-12-12
  • 深入淺出學習python裝飾器

    深入淺出學習python裝飾器

    這篇文章主要和大家一起深入淺出的學習python裝飾器的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 一篇文章徹底搞懂python正則表達式

    一篇文章徹底搞懂python正則表達式

    正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配,Python 自1.5版本起增加了re模塊,這篇文章主要給大家介紹了如何通過一篇文章徹底搞懂python正則表達式的相關資料,需要的朋友可以參考下
    2021-09-09
  • 實例說明Python中比較運算符的使用

    實例說明Python中比較運算符的使用

    這篇文章主要介紹了=Python中比較運算符的使用,是Python學習當中的基本知識,需要的朋友可以參考下
    2015-05-05
  • python爬取網易云音樂排行榜實例代碼

    python爬取網易云音樂排行榜實例代碼

    大家好,本篇文章主要講的是python爬取網易云音樂排行榜數(shù)據(jù)代碼,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評論