Public
Edited
Dec 3, 2023
1 fork
Insert cell
Insert cell
Insert cell
Insert cell
function teamAverage(data, year) {
var players = [];

for (const player of data) {
if (player.Year == year) {
players.push(player);
}
}

var team = {
Name: "Nuggets",
Year: players[0].Year,
FGA: 0,
FG: 0,
FGP: 0.0,
FTP: 0.0,
X3P: 0.0,
X3PA: 0.0,
X2P: 0.0,
X2PA: 0.0,
eFGP: 0.0,
FT: 0,
FTA: 0
};
for (const player of players) {
team.FGA += player.FGA;
team.FG += player.FG;
team.FTA += player.FTA;
team.FT += player.FT;
team.FTP += player.FTP;
team.X3P += player.X3P;
team.X3PA += player.X3PA;
team.X2P += player.X2P;
team.X2PA += player.X2PA;
team.eFGP += team.eFGP;
}
console.log(team.FG / team.FGA);

team.FGP = team.FG / team.FGA;
team.FTP = team.FT / team.FTA;
team.X3P = team.X3P / players.length;
team.X3PA = team.X3PA / players.length;
team.X2P = team.X2P / players.length;
team.eFGP = team.eFGP / players.length;

console.log("here", team);
// Now 'players' array contains all players with the specified year
return players;
}

// { axis: "Effective FG %", value: player22.eFGP }
// ],
// [
// //Component 1
// { axis: "Field Goal Percentage", value: player23.FGP },
// { axis: "Free Throw Percentage", value: player23.FTP },
// {
// axis: "Three Point %",
// value:
// player22.X3P === 0 && player22.X3PA === 0
// ? 0
// : player22.X3P / player22.X3PA
// },
// { axis: "Two Point Percentage", value: player23.X2P / player23.X2PA },
// { axis: "Effective Field Goal Percentage", value: player23.eFGP }
// ]
Insert cell
test2 = nba_data.length
Insert cell
test = teamAverage(nba_data, 2023)
Insert cell
Select a data source…
Type SQL, then Shift-Enter. Ctrl-space for more options.

Insert cell
Insert cell
Insert cell
nba_data = FileAttachment("merged_data.json").json()
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more