【问题标题】:Pandas evaluate counts of multiple values in a DataFramePandas 评估 DataFrame 中多个值的计数
【发布时间】:2015-02-15 21:14:25
【问题描述】:

我有一个像这样的 Pandas DataFrame df:

    Language  Id  GridCode
0         es   1         1
1         en   2        11
2         es   3         2
3         it   4         6
4         it   5        10
5         pl   6        10
6         es   7         9
7         fr   8        11
8         es   9        11
9         en  10        12
10        es  11         1

基本上,“Id”与“GridCode”和“Language”相关联(唯一的“Id”可以分配给一个且只有一个“Gridcode”,但显然,GridCode 可以关联到更多“身份”)。我正在尝试获取一个新的 DataFrame,计算每个“Gridcode”中特定“语言”中“Id”的频率,其中包含以下列:

GridCount    Count_Id_es    Count_Id_en    ...

等等。 到目前为止,我为循环创建了一组语言:

languages = set(df['Language'])

然后我尝试使用这样的 groupby 操作:

g = df.groupby(['GridCode','Id','Language']).size()

返回:

GridCode  Id  Language
1         1   es          1
          11  es          1
2         3   es          1
6         4   it          1
9         7   es          1
10        5   it          1
          6   pl          1
11        2   en          1
          8   fr          1
          9   es          1
12        10  en          1

现在的问题是再次计算特定语言中“Id”的频率,并将信息存储在新的 DataFrame 中,如下所示:

Gridcode    Count_Id_es    Count_Id_it     Count_Id_pl      Count_Id_fr     Count_Id_en
1           2              0               0                0               0
2           1              0               0                0               0
6           0              1               0                0               0
9           1              0               0                0               0
10          0              1               1                0               0
11          1              0               0                1               1
12          0              0               0                0               1

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

【问题讨论】:

  • 抱歉刚刚找到答案here

标签: python pandas count group-by dataframe


【解决方案1】:

你也可以使用 getdummy

pd.get_dummies(df.Language)

【讨论】:

    猜你喜欢
    • 2016-11-27
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    • 2021-09-03
    • 2016-06-30
    • 2019-10-22
    相关资源
    最近更新 更多