pandas数据框,统计某列数据对应的个数方法

现在要解决的问题如下:

我们有一个数据的表

第7列有许多数字,并且是用逗号分隔的,数字又有一个对应的关系:

我们要得到第7列对应关系的统计,就是每一行的第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)#这个是我们数据的表
def getlistnum(li):#这个函数就是要对列表的每个元素进行计数
  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'#在读取的数据框新建一个字符列
for i in range(len(dfmgs.index)):#对每一行进行操作
  spp = [bigdict[int(j)] for j in dfmgs.iloc[i, 6].split(',')]#对于第7列的格子中的每个数进行字典取值
  sppnum = getlistnum(spp)
  dfmgs.iloc[i, 7] = str(sppnum)
dfmgs.to_csv("three.txt",sep = '\t',index = False)

这个就可以得到想要的结果了:

以上这篇pandas数据框,统计某列数据对应的个数方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

  • pandas系列之DataFrame 行列数据筛选实例
  • pandas全表查询定位某个值所在行列的方法
  • pandas按若干个列的组合条件筛选数据的方法
  • 基于pandas数据样本行列选取的方法
(0)

相关推荐

  • pandas按若干个列的组合条件筛选数据的方法

    还是用图说话 A文件: 比如,我想筛选出"设计井别"."投产井别"."目前井别"三列数据都为11的数据,结果如下: 当然,这里的筛选条件可以根据用户需要自由调整,代码如下: # -*- coding: utf-8 -*- """ Created on Wed Nov 29 10:46:31 2017 @author: wq """ import pandas as pd #input.c

  • pandas系列之DataFrame 行列数据筛选实例

    一.对DataFrame的认知 DataFrame的本质是行(index)列(column)索引+多列数据. 为了简化理解,我们不妨换个思路- 现实中,为了简化对一件事物的描述,我们会选择几个特征. 例如,从(性别.身高.学历.职业.爱好..)等角度去刻画一个人,这些"角度"即为"特征". 其中,不同的行表示不同的记录:列代表特征,不同记录因各个特征之间的差异而不同. DataFrame默认索引是序号(0,1,2-),可以理解成位置索引.一般我们用id标识不同记录,

  • 基于pandas数据样本行列选取的方法

    注:以下代码是基于python3.5.0编写的 import pandas food_info = pandas.read_csv("food_info.csv") # ------------------选取数据样本的第一行-------------------- print(food_info.loc[0]) #------------------选取数据样本的3到6行---------------------- print(food_info.loc[3:6]) #-------

  • pandas全表查询定位某个值所在行列的方法

    如下所示: # create a dataframe with an integer feature and a categorical string feature demo_df = pd.DataFrame({'Integer Feature': [0, 1, 2, 1], 'Categorical Feature': ['socks', 'fox', 'socks', 'box']}) demo_df 接下来用for遍历: for indexs in demo_df.index: for

  • pandas数据框,统计某列数据对应的个数方法

    现在要解决的问题如下: 我们有一个数据的表 第7列有许多数字,并且是用逗号分隔的,数字又有一个对应的关系: 我们要得到第7列对应关系的统计,就是每一行的第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_tabl

  • pandas 取出表中一列数据所有的值并转换为array类型的方法

    如下所示: # -*-coding: utf-8 -*- import pandas as pd #读取csv文件 df=pd.read_csv('A_2+20+DoW+VC.csv') #求'ave_time'的平均值 aveTime=df['ave_time'].mean() #把ave_time这列的缺失值进进行填充,填充的方法是按这一列的平均值进行填充 df2=df.fillna(aveTime) #取表中的第3列的所有值 col=df2.iloc[:,2] #取表中的第3列的所有值 a

  • pandas将DataFrame的几列数据合并成为一列

    目录 1.1 方法归纳 1.2 .str.cat函数详解 1.2.1 语法格式: 1.2.2 参数说明: 1.2.3 核心功能: 1.2.4 常见范例: 1.1 方法归纳 使用 + 直接将多列合并为一列(合并列较少): 使用pandas.Series.str.cat方法,将多列合并为一列(合并列较多): 范例如下: dataframe["newColumn"] = dataframe["age"].map(str) + dataframe["phone&q

  • C#操作DataTable方法实现过滤、取前N条数据及获取指定列数据列表的方法

    本文实例讲述了C#操作DataTable方法实现过滤.取前N条数据及获取指定列数据列表的方法.分享给大家供大家参考.具体分析如下: #region DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回 /// <summary> /// DataTable筛选,排序返回符合条件行组成的新DataTable ///或直接用DefaultView按条件返回 /// eg:SortExprDataTable(dt,"Sex='男'&q

  • pandas删除某行或某列数据的实现示例

    目录 1.drop()函数 2.del函数 首先,创建一个DataFrame格式数据作为举例数据. # 创建一个DataFrame格式数据 data = {'a': ['a0', 'a1', 'a2'], 'b': ['b0', 'b1', 'b2'], 'c': [i for i in range(3)], 'd': 4} df = pd.DataFrame(data) print('举例数据情况:\n', df) 注:DataFrame是最常用的pandas对象,使用pandas读取数据文件

  • 详解Pandas如何高效对比处理DataFrame的两列数据

    目录 楔子 combine_first combine update 楔子 我们在用 pandas 处理数据的时候,经常会遇到用其中一列数据替换另一列数据的场景.比如 A 列和 B 列,对 A 列中不为空的数据不作处理,对 A 列中为空的数据使用 B 列对应索引的数据进行替换.这一类的需求估计很多人都遇到,当然还有其它更复杂的. 解决这类需求的办法有很多,这里我们来推荐几个. combine_first 这个方法是专门用来针对空值处理的,我们来看一下用法. import pandas as pd

  • pandas中按行或列的值对数据排序的实现

    目录 一. 按列的值对数据排序 1.按某一列的值对数据排序 2. 按多列的值对数据排序 3. key 参数:设置排序时的数据变换函数 4. 修改原数据 二. 按行的值对数据排序 参考 在处理表格型数据时,常会用到排序,比如,按某一行或列的值对表格排序,要怎么做呢? 这就要用到 pandas 中的 sort_values() 函数. 一. 按列的值对数据排序 先来看最常见的情况. 1.按某一列的值对数据排序 以下面的数据为例. import pandas as pd df_col = pd.Dat

  • R语言数据框中的负索引介绍

    以R语言自带的mtcars数据框为例: 这是原始的mtcars数据: 这里只列出了前面几行数据. 然后负索引mtcars[,-2:-3],得到的结果 删除了第二列和第三列数据 所以R语言数据框中的负索引是指删除数据框中对应的列(或者行) ps:这和Python里面的规则好像不太一样,Python里的负索引好像是指倒数第几列(或者第几行),这里这两个软件区别还挺大的~~写个笔记提醒一下自己~ 补充:R语言中的负整数索引 看代码吧~ > x<-matrix(c(1,2,3,4,5,6,7,8,9)

  • R语言-如何定义数据框的列名

    1.在定义数据框时,定义列名: 例如: a<-c(2,23,45,6,7,1,6,7) b<-c(4,6,1,2,5,66,10,2) df<-data.frame(a,b) 此时数据框df中的列名分别是a.b 也可以如下: df<-data.frame(a1=a,b1=b) 此时的列名是a1.b1 2.修改数据框中列的名字 如果希望修改数据框中的列名,可以使用name函数进行修改 例如: names(df)<-c("a2","b2")

  • R语言列表和数据框的具体使用

    目录 1.列表 1.1创建 1.2 访问 1.3 注意 2.数据框 2.1 创建 2.2 访问 1.列表 列表“list”是一种比较的特别的对象集合,不同的序号对于不同的元素,当然元素的也可以是不同类型的,那么我们用R语言先简单来构造一个列表. 1.1创建 > a<-c(1:20) > b<-matrix(1:20,4,5) > mlist<-list(a,b) > mlist [[1]]  [1]  1  2  3  4  5  6  7  8  9 10 11

随机推荐