假设我的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
任何帮助将不胜感激。
答案 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,
);
}