相关疑难解决方法(0)

将Pandas GroupBy对象转换为DataFrame

我从这样的输入数据开始

df1 = pandas.DataFrame( { 
    "Name" : ["Alice", "Bob", "Mallory", "Mallory", "Bob" , "Mallory"] , 
    "City" : ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"] } )
Run Code Online (Sandbox Code Playgroud)

打印时显示如下:

   City     Name
0   Seattle    Alice
1   Seattle      Bob
2  Portland  Mallory
3   Seattle  Mallory
4   Seattle      Bob
5  Portland  Mallory
Run Code Online (Sandbox Code Playgroud)

分组很简单:

g1 = df1.groupby( [ "Name", "City"] ).count()
Run Code Online (Sandbox Code Playgroud)

和打印产生一个GroupBy对象:

                  City  Name
Name    City
Alice   Seattle      1     1
Bob     Seattle      2     2
Mallory Portland     2     2
        Seattle      1     1
Run Code Online (Sandbox Code Playgroud)

但我最终想要的是另一个包含GroupBy对象中所有行的DataFrame对象.换句话说,我希望得到以下结果:

                  City  Name
Name …
Run Code Online (Sandbox Code Playgroud)

python multi-index dataframe pandas pandas-groupby

433
推荐指数
9
解决办法
55万
查看次数

如何计算pandas组中每组(和其他统计信息)的行数?

我有一个数据框df,我使用它的几个列groupby:

df['col1','col2','col3','col4'].groupby(['col1','col2']).mean()
Run Code Online (Sandbox Code Playgroud)

以上面的方式,我几乎得到了我需要的表(数据框).缺少的是包含每个组中行数的附加列.换句话说,我有意思,但我也想知道有多少数字被用来获得这些手段.例如,在第一组中有8个值,在第二组中有10个,依此类推.

python group-by dataframe pandas pandas-groupby

365
推荐指数
6
解决办法
62万
查看次数

选择特定列以计算pandas中的行方式总计

在pandas数据框中分组后,是否有任何方法可以对列进行求和?例如,我有以下数据框:

ID   W_1       W_2     W_3 
1    0.1       0.2     0.3
1    0.2       0.4     0.5
2    0.3       0.3     0.2
2    0.1       0.3     0.4
2    0.2       0.0     0.5
1    0.5       0.3     0.2
1    0.4       0.2     0.1
Run Code Online (Sandbox Code Playgroud)

我想要一个名为"my_sum"的额外列,它将所有列中的第一行(W_1,W_2,W_3)相加.输出将是这样的:

ID   W_1       W_2     W_3     my_sum
1    0.1       0.2     0.3      0.6
1    0.2       0.4     0.5      1.1
2    0.3       0.3     0.2      0.8
2    0.1       0.3     0.4      0.8
2    0.2       0.0     0.5      0.7
1    0.5       0.3     0.2      1.0
1    0.4       0.2     0.1      0.7
Run Code Online (Sandbox Code Playgroud)

我发现了以下内容:

df['my_sum'] =   df.groupby('ID')['W_1','W_1','W_1'].transform(sum,axis=1)
Run Code Online (Sandbox Code Playgroud)

但这总结了W_1的所有条目.该文件 …

python numpy sum dataframe pandas

4
推荐指数
1
解决办法
6468
查看次数

标签 统计

dataframe ×3

pandas ×3

python ×3

pandas-groupby ×2

group-by ×1

multi-index ×1

numpy ×1

sum ×1