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ù)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
使用Pandas實現(xiàn)數(shù)據(jù)的清理的入門詳解
數(shù)據(jù)清理是數(shù)據(jù)分析過程中的關鍵步驟,它涉及識別缺失值、重復行、異常值和不正確的數(shù)據(jù)類型,本文將介紹6個經(jīng)常使用的數(shù)據(jù)清理操作,希望對大家有所幫助2023-08-08Python中str.format()和f-string的使用
本文主要介紹了Python中str.format()和f-string的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02Python import用法以及與from...import的區(qū)別
這篇文章主要介紹了Python import用法以及與from...import的區(qū)別,本文簡潔明了,很容易看懂,需要的朋友可以參考下2015-05-05通過 Django Pagination 實現(xiàn)簡單分頁功能
這篇文章主要介紹了通過 Django Pagination 實現(xiàn)簡單分頁功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11