我有一个由如下所示的numpy数组创建的数据框(df
):
0.22 1
0.31 1
0.91 1
0.48 2
0.2 2
0.09 2
0.9 3
0.71 3
0.73 3
0.65 4
0.16 4
0.9 4
0.75 5
0.87 5
0.72 5
0.68 6
0.54 6
0.48 6
我想创建一个汇总数据框架,该框架将第一列中的值与其在第二列中的位置相加。因此,上面示例中我想要的摘要数据帧输出看起来像:
3.68 total
2.79 total
3.83 total
其中:
摘要数据框中的第一个值将等于:0.22+0.48+0.9+0.65+0.75+0.68=3.68
摘要数据框中的第二个值将等于:0.31+0.2+0.71+0.16+0.87+0.54=2.79
摘要数据框中的第三个值将等于:
0.91+0.09+0.73+0.9+0.72+0.48=3.83
答案 0 :(得分:2)
您可以进行分组两次,一次标记每个组中的相对位置,一次进行求和:
$data
输出:
// Pass id to test.auth
public function show_auth($id)
{
return view('test.auth', compact('id'));
}
// Here it gets id and dd($data) works
public function post_auth(Request $request)
{
$id = $request->id;
$data = DB::table('kuponai')->where('id', $id)->get();
//dd($data);
return view('test.view', compact('data'));
}
// Function from before dump doesn't work and returns view
public function view($data)
{
dump($data);
return view('test.view');
}
选项2 :如果所有组的元素数均相同,我们可以重塑形状:
public function check(Request $request)
{
$id = $request->id;
//
return view('test.auth',compact('id'));
}
public function show_auth($id)
{
return view('test.auth',compact('id'));
}
public function post_auth(Request $request)
{
$id = $request->id;
$pin = $request->pin;
$mail = $request->elpastas;
$data = DB::table('kuponai')
->where('id', $id)
->get();
//dd($data);
return route('view.show',compact('data'));
}
public function view($data)
{
$d = $this->post_auth($data);
//dd($data);
return view('test.view');
}
答案 1 :(得分:0)
对于此类问题,以下模式通常很有用。要按第n行分组,如果索引已排序且连续,则可以使用df.index % n
。
n = 3
df.groupby(df.index % n)[0].sum()
输出
0 3.68
1 2.79
2 3.83