相关疑难解决方法(0)

python相当于R表

我有一份清单

[[12, 6], [12, 0], [0, 6], [12, 0], [12, 0], [6, 0], [12, 6], [0, 6], [12, 0], [0, 6], [0, 6], [12, 0], [0, 6], [6, 0], [6, 0], [12, 0], [6, 0], [12, 0], [12, 0], [0, 6], [0, 6], [12, 6], [6, 0], [6, 0], [12, 6], [12, 0], [12, 0], [0, 6], [6, 0], [12, 6], [12, 6], [12, 6], [12, 0], [12, 0], [12, 0], [12, 0], [12, 6], [12, 0], [12, 0], [12, …
Run Code Online (Sandbox Code Playgroud)

python r frequency

61
推荐指数
6
解决办法
4万
查看次数

Pandas groupby.size与series.value_counts vs collections.Counter有多个系列

有很多问题(1,2,3)处理的计数值单一系列.

但是,关于计算两个或更多系列组合的最佳方法的问题较少.解决方案呈现(1,2),但是,当和为什么要使用的每个没有讨论.

以下是三种潜在方法的基准测试.我有两个具体问题:

  1. 为什么grouper效率更高count?我预计count它会更高效,因为它在C中实现.grouper即使列数从2增加到4 ,优越的性能仍然存在.
  2. 为什么这么多value_counter表现不佳grouper?这是由于从列表构建列表或系列的成本吗?

我理解输出是不同的,这也应该告知选择.例如,使用连续numpy数组与字典理解相比,按计数过滤更有效:

x, z = grouper(df), count(df)
%timeit x[x.values > 10]                        # 749µs
%timeit {k: v for k, v in z.items() if v > 10}  # 9.37ms
Run Code Online (Sandbox Code Playgroud)

然而,我的问题的重点是在一系列与字典中建立可比较结果的表现.我的C知识是有限的,但我会感谢任何可以指出这些方法的基础逻辑的答案.

基准代码

import pandas as pd
import numpy as np
from collections import Counter

np.random.seed(0)

m, n = …
Run Code Online (Sandbox Code Playgroud)

python counter dictionary dataframe pandas

30
推荐指数
1
解决办法
2975
查看次数

python pandas groupby()结果

我有以下python pandas数据框:

df = pd.DataFrame( {
   'A': [1,1,1,1,2,2,2,3,3,4,4,4],
   'B': [5,5,6,7,5,6,6,7,7,6,7,7],
   'C': [1,1,1,1,1,1,1,1,1,1,1,1]
    } );

df
    A  B  C
0   1  5  1
1   1  5  1
2   1  6  1
3   1  7  1
4   2  5  1
5   2  6  1
6   2  6  1
7   3  7  1
8   3  7  1
9   4  6  1
10  4  7  1
11  4  7  1
Run Code Online (Sandbox Code Playgroud)

我想有另一个列存储固定(两个)A和B的C值之和的值.即,类似于:

    A  B  C  D
0   1  5  1  2
1   1  5  1 …
Run Code Online (Sandbox Code Playgroud)

python group-by pandas

21
推荐指数
3
解决办法
2万
查看次数

熊猫,groupby和伯爵

我有一个像这样的数据框

>>> df = pd.DataFrame({'user_id':['a','a','s','s','s'],
                    'session':[4,5,4,5,5],
                    'revenue':[-1,0,1,2,1]})

>>> df
   revenue  session user_id
0       -1        4       a
1        0        5       a
2        1        4       s
3        2        5       s
4        1        5       s
Run Code Online (Sandbox Code Playgroud)

和会话和收入的每个值代表了一种类型的,我要统计每个种类的数量表示的数量revenue=-1session=4user_id=a为1.

我发现简单的调用count()函数,因为groupby()无法输出我想要的结果.

>>> df.groupby('user_id').count()
         revenue  session
user_id
a              2        2
s              3        3
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

python pandas pandas-groupby

7
推荐指数
3
解决办法
2万
查看次数

Pandas:使用 group by,将多个列值组合为 groupby 中的一个不同组

我有一个数据框,我pandas.groupby在特定列上使用它,然后对生成的组运行聚合统计(平均值、中位数、计数)。我想将某些列值视为由 groupby 生成的同一组的成员,而不是用于分组的列中每个不同值的不同组。我正在考虑如何完成这样的事情。

例如:

>> my_df
ID    SUB_NUM     ELAPSED_TIME
1     1           1.7
2     2           1.4
3     2           2.1 
4     4           3.0
5     6           1.8
6     6           1.2
Run Code Online (Sandbox Code Playgroud)

因此,而不是典型的行为:

>> my_df.groupby([SUB_NUM]).agg([count])
ID    SUB_NUM     Count
1     1           1
2     2           2
4     4           1
5     6           2 
Run Code Online (Sandbox Code Playgroud)

我希望将某些值([1, 2] 中的 SUB_NUM)作为一组进行计算,因此会生成如下所示的内容:

>> # Some mystery pandas function calls
ID    SUB_NUM     Count
1     1, 2        3
4     4           1
5     6           2
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,谢谢!

python group-by dataframe pandas

3
推荐指数
1
解决办法
2366
查看次数

在打印分组的实例计数后,在python数据框中展平组的结果

我需要按值计算数据框中两列的实例.我通过使用组和大小获得相同,但我想吐出1.每个列组合中的平坦值2."最后计数"列的名称(另请参阅下面的我想要的内容).

    df = pd.DataFrame([[1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], list('AAABBBBABCBDDD'), [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8], ['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],['1','3','3','2','4','2','5','3','6','3','5','1','1','1']]).T
    df.columns = ['col1','col2','col3','col4','col5']
    df.groupby(['col5', 'col2']).size()
# this gives 
col5  col2   <Note that this is unnamed>
1     A       1
      D       3
2     B       2
3     A       3
      C       1
4     B       1
5     B       2
6     B       1
dtype: int64

What I want -:
    col5  col2   count_instances_of_this_combination
    1     A       1
    1     D       3
    2     B       2
    3     A       3
    3     C       1
    4     B …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

2
推荐指数
1
解决办法
2177
查看次数