Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将计数添加到由group by cut生成的df_Python_Pandas_Count_Pandas Groupby - Fatal编程技术网

Python 将计数添加到由group by cut生成的df

Python 将计数添加到由group by cut生成的df,python,pandas,count,pandas-groupby,Python,Pandas,Count,Pandas Groupby,无论是.size()还是.count()似乎都不会在 应用于使用.cut()方法生成的数据 这可能只是语法问题,但我尝试了.size()、.count()和.description()并使用组计数获取多个列,但不是一个列 #python 2.7 import pandas as pd import numpy as np np.random.seed(seed=1) df = pd.DataFrame({"var1": np.random.random(100),

无论是
.size()
还是
.count()
似乎都不会在 应用于使用
.cut()
方法生成的数据

这可能只是语法问题,但我尝试了
.size()
.count()
.description()
并使用组计数获取多个列,但不是一个列

#python 2.7
import pandas as pd
import numpy as np


np.random.seed(seed=1)
df = pd.DataFrame({"var1": np.random.random(100), 
                   "var2": np.random.random(100) + 5})

# Bin the data frame by "var1" with 10 bins...
df = df.groupby(pd.cut(df.var1, 10)).describe().var2[['mean','count']]
df =df.reset_index()
print df"

#Results:
                     var1      mean  count
0  (-0.000874, 0.099]  5.546257   11.0
1      (0.099, 0.198]  5.434613   12.0
2      (0.198, 0.297]  5.483686    9.0
3      (0.297, 0.396]  5.313241    6.0
4      (0.396, 0.494]  5.537168   13.0
5      (0.494, 0.593]  5.518476   10.0
6      (0.593, 0.692]  5.614630   10.0
7      (0.692, 0.791]  5.443415   10.0
8       (0.791, 0.89]  5.464804    7.0
9       (0.89, 0.989]  5.418756   12.0

#使用提供所需答案的代码更新发布的问题。

如果是这种情况,则需要使用
pd.Series.groupby()转换


不确定您需要什么我想在df中添加一列“cnt”,显示每个箱子中用于计算平均值的项目数,如“var2”所示。
df['cnt']=df.groupby(pd.cut(df.var1, 10))['var2'].transform('count')