计算组内的值

时间:2020-06-19 04:04:09

标签: pandas group-by pivot geopandas

假设我的Pandas DataFrame名称为df:

    Origin Dest T   R
0      N    N  100  3
1      N    A    2  6
2      A    B  356  7
3      A    B  789  8
4      B    N  999  9
5      B    A  345  2
6      N    A  456  3

我想生成一个数据框,按Origin来为每个组进行以下计算:

列“ T”中的总和然后与各组的“ R”中的总和相除。我想以origin_dest矩阵形式查看此结果。

我正在尝试关注,但不起作用。

Matrix_Origin =df.pivot_table(values=['T','R'], index='Origin', columns ='Dest', fill_value=0, aggfunc=[lambda x: df['T'].sum()/df['R'].sum() ])

这就是我想要产生的:

Origin   N     A     B
N     33.33  50.88   0
A      0     0    76.33
B      111  172.5   0

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

groupby与unstack的组合可以产生您想要的结果:

Future<Database> openDb() async {
    return openDatabase(
      join(await getDatabasesPath(), 'mydb.db'),
      onCreate: (db, version) {
        return db.execute(
          "create table query",
        );
      },
      // Set the version. This executes the onCreate function and provides a
      // path to perform database upgrades and downgrades.
      version: 6,
    );
  }