-
Anonymous
Сгруппируйте данные строки двумерного массива по двум столбцам и вычислите средние значения в каждом подмножестве.
Сообщение
Anonymous »
Я пытаюсь найти среднее количество мужчин и женщин по стране из этого массива:
Код: Выделить всё
$users = [
['id' => 1, 'gender' => 'M', 'dob' => 1990, 'country' => 'IN', 'activity_score' => 34],
['id' => 2, 'gender' => 'M', 'dob' => 1980, 'country' => 'US', 'activity_score' => 9],
['id' => 3, 'gender' => 'F', 'dob' => 1993, 'country' => 'UK', 'activity_score' => 45],
['id' => 4, 'gender' => 'M', 'dob' => 1998, 'country' => 'IN', 'activity_score' => 0],
['id' => 5, 'gender' => 'F', 'dob' => 1997, 'country' => 'IN', 'activity_score' => 234],
['id' => 6, 'gender' => 'M', 'dob' => 1991, 'country' => 'UK', 'activity_score' => -6],
['id' => 7, 'gender' => 'F', 'dob' => 1992, 'country' => 'JP', 'activity_score' => 9],
['id' => 8, 'gender' => 'M', 'dob' => 1998, 'country' => 'US', 'activity_score' => 45],
['id' => 9, 'gender' => 'F', 'dob' => 2000, 'country' => 'JP', 'activity_score' => 5],
['id' => 10, 'gender' => 'M', 'dob' => 2006, 'country' => 'IN', 'activity_score' => 7],
['id' => 11, 'gender' => 'F', 'dob' => 1970, 'country' => 'US', 'activity_score' => 32],
['id' => 12, 'gender' => 'M', 'dob' => 2011, 'country' => 'IN', 'activity_score' => 21],
];
С помощью следующего кода я нахожу средние показатели мужчин и женщин.
Код: Выделить всё
foreach ($users as $user) {
$tmp1[$user['gender']][] = date('Y') - $user['dob'];// calculating age
$tmp[$user['country']][] = $user;
}
$male_avg = array_sum($tmp1['M']) / count($tmp1['M']);
$female_avg = array_sum($tmp1['F']) / count($tmp1['F']);
Как узнать средние гендерные показатели по стране?
Подробнее здесь:
https://stackoverflow.com/questions/498 ... -in-each-s
1735539139
Anonymous
Я пытаюсь найти среднее количество мужчин и женщин по стране из этого массива:
[code]$users = [
['id' => 1, 'gender' => 'M', 'dob' => 1990, 'country' => 'IN', 'activity_score' => 34],
['id' => 2, 'gender' => 'M', 'dob' => 1980, 'country' => 'US', 'activity_score' => 9],
['id' => 3, 'gender' => 'F', 'dob' => 1993, 'country' => 'UK', 'activity_score' => 45],
['id' => 4, 'gender' => 'M', 'dob' => 1998, 'country' => 'IN', 'activity_score' => 0],
['id' => 5, 'gender' => 'F', 'dob' => 1997, 'country' => 'IN', 'activity_score' => 234],
['id' => 6, 'gender' => 'M', 'dob' => 1991, 'country' => 'UK', 'activity_score' => -6],
['id' => 7, 'gender' => 'F', 'dob' => 1992, 'country' => 'JP', 'activity_score' => 9],
['id' => 8, 'gender' => 'M', 'dob' => 1998, 'country' => 'US', 'activity_score' => 45],
['id' => 9, 'gender' => 'F', 'dob' => 2000, 'country' => 'JP', 'activity_score' => 5],
['id' => 10, 'gender' => 'M', 'dob' => 2006, 'country' => 'IN', 'activity_score' => 7],
['id' => 11, 'gender' => 'F', 'dob' => 1970, 'country' => 'US', 'activity_score' => 32],
['id' => 12, 'gender' => 'M', 'dob' => 2011, 'country' => 'IN', 'activity_score' => 21],
];
[/code]
С помощью следующего кода я нахожу средние показатели мужчин и женщин.
[code]foreach ($users as $user) {
$tmp1[$user['gender']][] = date('Y') - $user['dob'];// calculating age
$tmp[$user['country']][] = $user;
}
$male_avg = array_sum($tmp1['M']) / count($tmp1['M']);
$female_avg = array_sum($tmp1['F']) / count($tmp1['F']);
[/code]
Как узнать средние гендерные показатели по стране?
Подробнее здесь: [url]https://stackoverflow.com/questions/49874055/group-row-data-of-a-2d-array-by-two-columns-and-calculate-the-averages-in-each-s[/url]