code: def parse_player_df(content):
      name = content.select_one("#info").select_one("h1").text.strip()
      standard_batting_tbl = content.find(id="batting_standard")
  
      standard_batting_data = []
      headers = [
          ele.text.strip()
          for ele in standard_batting_tbl.find("thead").find_all("th")
      ]
      rows = standard_batting_tbl.find("tbody").find_all(
          "tr", class_="full"
      )
      for row in rows:
          cols = row.find_all("th") + row.find_all("td")
          cols = [ele.text.strip() for ele in cols]
          standard_batting_data.append(cols)
      df = pd.DataFrame(standard_batting_data, columns=headers)
      df.loc[:, "name"] = name
      str_cols = ["name", "Tm", "Lg", "Pos", "Awards"]
      float_cols = ["BA", "OBP", "SLG", "OPS"]
      int_cols = [
          c for c in df.columns if c not in str_cols + float_cols
      ]
      df = df.astype({col: "int" for col in int_cols})
      df = df.astype({col: "float" for col in float_cols})
      df.loc[:, "Season"] = df.index + 1
      return df[["name", "Season"] + headers]
  
imports: import json
  import pandas
  import requests
  import streamlit
  import urllib
  import uuid
  from bs4 import BeautifulSoup
  from logging import getLogger
  from dtale.app import get_instance
  from dtale.global_state import cleanup
  from dtale.views import startup
label_desc: Use image node_id 4 for calling a global function with example usage: parse_player_df(content) and returns: df