您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關pandas數(shù)據(jù)框如何統(tǒng)計某列數(shù)據(jù)對應的個數(shù),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
現(xiàn)在要解決的問題如下:
我們有一個數(shù)據(jù)的表
第7列有許多數(shù)字,并且是用逗號分隔的,數(shù)字又有一個對應的關系:
我們要得到第7列對應關系的統(tǒng)計,就是每一行的第7列a有多少個,b有多少個
好了,我給的解決方法如下:
#!/bin/python #-*-coding:UTF-8-*- import pandas as pd import numpy as np dfidspec = pd.read_table("one.txt")#這個是對應關系的文件 dfmgs = pd.read_table("two.txt",header = None)#這個是我們數(shù)據(jù)的表 def getlistnum(li):#這個函數(shù)就是要對列表的每個元素進行計數(shù) set1 = set(li) dict1 = {} for item in set1: dict1.update({item:li.count(item)}) return dict1 bigdict = dict(zip(dfidspec['ID'],dfidspec['class']))#獲得一個關系的字典 dfmgs['indeo'] = 'a'#在讀取的數(shù)據(jù)框新建一個字符列 for i in range(len(dfmgs.index)):#對每一行進行操作 spp = [bigdict[int(j)] for j in dfmgs.iloc[i, 6].split(',')]#對于第7列的格子中的每個數(shù)進行字典取值 sppnum = getlistnum(spp) dfmgs.iloc[i, 7] = str(sppnum) dfmgs.to_csv("three.txt",sep = '\t',index = False)
這個就可以得到想要的結果了:
關于“pandas數(shù)據(jù)框如何統(tǒng)計某列數(shù)據(jù)對應的個數(shù)”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。