Вы можете использовать groupby
и sum
:
df.groupby(['Name', 'Fruit']).sum()
Number
Name Fruit
Bob Apples 16
Grapes 35
Oranges 67
Mike Apples 9
Oranges 57
Steve Apples 10
Tom Grapes 87
Oranges 15
Tony Grapes 15
Oranges 1
Если вы абсолютно не можете сделать обработчик события Page_Load async void
, как предполагает связанный вопрос, то правильным способом будет:
GetUserClaims(token).ConfigureAwait(false).GetAwaiter().GetResult();
Чтобы избежать тупика [ 115], что происходит, когда вы звоните Wait()
.
Вам также необходимо добавить .ConfigureAwait(false)
ко всем вложенным асинхронным вызовам, чтобы обеспечить возобновление выполнения в том же контексте:
UserInfoResponse response = await client.GetUserInfoAsync(new UserInfoRequest
{
Address = "https://localhost:44367/connect/userinfo",
Token = token,
}).ConfigureAwait(false);
На самом деле это помогло
protected void Page_Load(object sender, EventArgs e)
{
var token = HttpContext.Current.Request.Headers.Get("Authorization");
PageAsyncTask t = new PageAsyncTask(() => GetUserClaims(token));
// Register the asynchronous task.
Page.RegisterAsyncTask(t);
// Execute the register asynchronous task.
Page.ExecuteRegisteredAsyncTasks();
//GetUserClaims(token).ConfigureAwait(false).GetAwaiter().GetResult();
}