溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pandas數(shù)據(jù)框如何統(tǒng)計某列數(shù)據(jù)對應的個數(shù)

發(fā)布時間:2021-08-07 13:59:14 來源:億速云 閱讀:501 作者:小新 欄目:開發(fā)技術

這篇文章將為大家詳細講解有關pandas數(shù)據(jù)框如何統(tǒng)計某列數(shù)據(jù)對應的個數(shù),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

現(xiàn)在要解決的問題如下:

我們有一個數(shù)據(jù)的表

pandas數(shù)據(jù)框如何統(tǒng)計某列數(shù)據(jù)對應的個數(shù)

第7列有許多數(shù)字,并且是用逗號分隔的,數(shù)字又有一個對應的關系:

pandas數(shù)據(jù)框如何統(tǒng)計某列數(shù)據(jù)對應的個數(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ù)

關于“pandas數(shù)據(jù)框如何統(tǒng)計某列數(shù)據(jù)對應的個數(shù)”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI