精华内容
下载资源
问答
  • 很多帖子都在讲df.groupby,对df[columns].groupby介绍很少,我今天恰好用到,总结以下。特别针对某一列是二分类的,要计算占比的时候,简直太方便了。举例数据a中第0列的0和1分别代表女性和男性。 import pandas ...

    很多帖子都在讲df.groupby,对df[columns].groupby介绍很少,我今天恰好用到,总结以下。特别针对某一列是二分类的,要计算占比的时候,简直太方便了。举例数据a中第0列的0和1分别代表女性和男性。

    import pandas as pd
    a = [[1, 22], [0, 15], [0, 21], [0, 23], [1, 17], [0, 32], [1, 39], [1, 30]]
    data = pd.DataFrame(a, columns=['sex', 'age'])
    print(data.groupby('sex')['age'].count())
    print(data.groupby('sex')['age'].sum())

    执行的结果很好理解。

    sex
    0    4
    1    4
    Name: age, dtype: int64
    sex
    0     91
    1    108
    Name: age, dtype: int64

     

    我的需求是,男性在不同年龄段的占比。为了装B,两行代码搞掂(正规作业可不能这么做)。

    cut_bins = pd.cut(data['age'], [0, 20, 40])
    male_rate = data['sex'].groupby(cut_bins).sum() / data['sex'].groupby(cut_bins).count()

    输出

    age
    (0, 20]     0.5
    (20, 40]    0.5
    Name: sex, dtype: float64

    理解:

    count() 计算出不同年龄段的总次数。当然,分母替换为 cut_bins.value_counts() 也是更容易理解的,这里只是为了对比。

    sum() 求和计算,因为女性是0,所以求和的结果恰好是男性出现的次数。

     

     

    展开全文
  • df.groupby()

    千次阅读 2019-04-02 23:06:31
    参考...df_Apurchase_by_UID_Gender=data.groupby(['User_ID','Gender']).agg({'Purchase':np.mean}).reset_index() print(df_Apurchase_by_UID_Gender.head...

    参考https://blog.csdn.net/m0_37870649/article/details/80979809

    df_Apurchase_by_UID_Gender=data.groupby(['User_ID','Gender']).agg({'Purchase':np.mean}).reset_index()
    print(df_Apurchase_by_UID_Gender.head())
    

    #表示对数据data(DataFrame数据结构)按’User_ID’和’Gender’分组,并计算’Purchase’的均值
    reset_index()表示重新设置行索引
    输出:

    User_ID Gender Purchase
    0 1000001 F 9808.264706
    1 1000002 M 10662.539474
    2 1000003 M 11780.517241
    3 1000004 M 15845.153846
    4 1000005 M 7745.292453

    这里agg()一般用于针对某列使用agg()时进行不同的统计运算

    例如:

    df.groupby('A')['B'].agg({'mean':np.mean, 'standard deviation': np.std})
    

    在这里插入图片描述

    也可以针对不同的列应用多种不同的统计方法
    在这里插入图片描述

    展开全文
  • 学习Pandas时,对于df.groupby(col1).agg(np.mean)结果有疑问: 以下是示例 输入: df = pd.DataFrame({'A':np.array(['foo','foo','foo','foo','bar','bar']),  'B':np.array(['one','one','two','two','three'...

    学习Pandas时,对于df.groupby(col1).agg(np.mean)结果有疑问:

    以下是示例

    输入:

    df = pd.DataFrame({'A':np.array(['foo','foo','foo','foo','bar','bar']),
                      'B':np.array(['one','one','two','two','three','three']),
                      'C':np.array(['small','medium','large','large','small','small']),
                      'D':np.array([1,2,2,3,3,5])})
    df

    输出:

    输入: df.groupby('A').agg(np.mean)  #返回按列A分组的所有列的均值

    输出:

    等同于: df.groupby('A')['D'].mean() #只有D列是数值型的数据,将df按照A列分组,然后对D列数据求均值

    输出:

    bar: 8/2=4,foo:8/4=2 得到最终结果

    展开全文
  • import pandas as pd pdd=pd.read_csv(r'C:\Users\pt0531\Desktop\2019-01.csv',dtype=str) print(pdd.columns) len(pdd) # 144538 #4列['so_date', 'so_voucher_no', 'series_...grouped=pdd.groupby(pdd['so_vo...
    import pandas as pd
    pdd=pd.read_csv(r'C:\Users\pt0531\Desktop\2019-01.csv',dtype=str)
    print(pdd.columns)
    len(pdd) # 144538
    #4列['so_date', 'so_voucher_no', 'series_code']
    grouped=pdd.groupby(pdd['so_voucher_no']).size().reset_index(name='counts')
    
    voucher_number=[]#要删除的voucher订单号列表
    for i in range(len(grouped['counts'])):
        if grouped['counts'][i]<3:
            voucher_number.append(grouped['so_voucher_no'][i])
            
    new_pdd=pdd[~pdd.so_voucher_no.isin(voucher_number)]
    len(new_pdd) # 117693
    
    
    df = pd.DataFrame({'vochure':['US','UK','Germany','UK'],'sc':['1001','1002','1004','1003']})
    df
    grouped=df.groupby(df['vochure']).size().reset_index(name='count')
    
    voucher_number=[]#要删除的voucher订单号列表
    for i in range(len(grouped['count'])):
        if grouped['count'][i]<2:
            voucher_number.append(grouped['vochure'][i])
    voucher_number
    new_df=df[~df.vochure.isin(voucher_number)]
    new_df
    
            
    
    展开全文
  • Pandas 数据分组 pd.groupby 的相关操作(一) 数据准备一、分组并统计各组数量 df.groupby().size()1.1 按列内元素进行分组 df.groupby(by='label')1.2 按 index 做分组 df.groupby(level=0)二、分组显示(类似迭代...
  • python pandas.DataFrame.groupby()方法详解

    千次阅读 2019-10-21 12:08:20
    文章目录DataFrame.groupby()概览应用举例 以下内容参考自官方文档 详情应用参考文档 DataFrame.groupby()概览 DataFrame.groupby(self, by=None, axis=0, level=None, as_index=True, sort=True, group_keys=...
  • 过滤掉出现次数少的行---pandaa.groupby

    千次阅读 2018-12-06 20:30:46
    需求:过滤掉pandas ...df_family_car = df.groupby("PLATE_INFO_EX").filter(lambda x: (len(x) &gt; 500 and len(x)&lt;1000)) 详细研究groupby用法,参考链接:https://blog.csdn.net/song...
  • pandas.DataFrame.groupby官方文档 DataFrame.groupby(by=None, axis=0, level=None, as_index= True, sort=True, group_keys=True, squeeze=False, observed=False, **kwargs) # return DataFr...
  • 关于pandas.dataframe.loc与pandas.dataframe.iloc用法官方说明,见...Access a group of rows and columns by label(s) or a boolean array. .loc[] is primarily label based, but may also be used with a boolean
  • pandas中pd.groupby()的用法

    万次阅读 多人点赞 2018-11-13 09:01:29
    在pandas中的groupby和在sql语句中的groupby有异曲同工之妙,不过也难怪,毕竟关系数据库中的存放数据的结构也是一张大表罢了,与dataframe的形式相似。 import numpy as np import pandas as pd from pandas import...
  • .groupby('列名').count()

    千次阅读 2019-09-04 23:43:35
    表名.groupby('列名').count() 默认以group by这一列作为索引
  • DataFrame.groupby()用法

    千次阅读 2020-10-31 19:35:34
    DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs) by : 接收映射、函数、标签或标签列表;用于确定聚合的组 axis : 接收 0/1;用于表示沿行...
  • python itertools.groupby() 使用方法

    千次阅读 2019-08-01 15:23:06
    itertools.groupby(iterable[, key]) 官网 input:[k for k, g in groupby('AAAABBBCCDAABBB')] output:['A', 'B', 'C', 'D', 'A', 'B'] input:[list(g) for k, g in groupby('AAAABBBCCD')] output:[['A', ...
  • pandas DataFrame的.groupby().rank()

    万次阅读 2018-08-22 15:08:24
    pandas DataFrame的.groupby().rank() 这个操作 是 对DataFrame某列的数据进行聚类 然后对其它列的属于同类数据进行数值大小排序 但是有几个参数的含义不是很理解 list1 = [1, 3, 1,0,7,4,0] list2 = [3, 3, 2,0...
  • Pandas 数据分组 pd.groupby 的相关操作(二)数据准备一、数据平移 df.shift1.1 上下平移1.2 左右平移1.3 分组数据平移二、数据滚动 df.rolling2.1 滚动求和2.2 滚动求均值三、排名 df.rank3.1 总排名3.1 分组后,...
  • 「Python」浅说pandas.groupby.apply

    万次阅读 2018-05-30 18:50:32
    -groupby.head() 是个dataframe- 首先随便地构造了一个dataframe import pandas as pd import numpy as np df = pd.DataFrame({"group":["a","b","c","c",&...
  • 所见 1 :日常用法 所见 2 :解决groupby.sum() 后层级索引levels上移的问题 所见 3 :解决groupby.apply() 后层级索引levels上移的问题 所见 4 :groupby函数的分组结果保存成DataFrame
  • df.drop_duplicates() DataFrame.drop_duplicates(self, subset=None, keep=‘first’, inplace=False) 参数: subset : column label or sequence of labels, optional Only consider certain columns for ...
  • 【python】DataFrame.groupby()聚合,分组级运算

    万次阅读 多人点赞 2017-12-10 23:11:29
    pandas提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片、切块、摘要等操作。根据一个或多个键(可以是函数、数组或DataFrame列名)拆分pandas对象。计算分组摘要统计,如计数、平均值、...
  • pandas groupby函数

    2020-03-23 15:50:01
    第一种:df.groupby(col),返回一个按列进行分组的groupby对象; 第二种:df.groupby([col1,col2]),返回一个按多列进行分组的groupby对象; 第三种:df.groupby(col1)[col2]或者df[col2].grou...
  • Market_sales = df.groupby(["Market"]).agg({"Sales":"sum"}) Market_Year_Sales = df.groupby(["Market","year"]).agg({"Sales":"sum"}).reset_index().rename(columns={"Sales":"Sales_amounts"})#pandas引入了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,191
精华内容 25,276
关键字:

df.groupby