li class="L722" rel="L722"> " return ast.literal_eval(d)\n",
  • "\n",
  • "def list_of_dicts(ld):\n",
  • " '''\n",
  • " Create a mapping of the tuples formed after \n",
  • " converting json strings of list to a python list \n",
  • " '''\n",
  • " return dict([(list(d.values())[1], list(d.values())[0]) for d in ast.literal_eval(ld)])"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "2112d785",
  • "metadata": {},
  • "outputs": [],
  • "source": [
  • "A = json_normalize(df['status'].apply(only_dict).tolist()).add_prefix('status.')\n",
  • "A"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "9a21694d",
  • "metadata": {},
  • "outputs": [],
  • "source": []
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "55d3ccb7",
  • "metadata": {},
  • "outputs": [],
  • "source": [
  • "pd.json_normalize(list(df['status']))"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "072d4638",
  • "metadata": {},
  • "outputs": [],
  • "source": [
  • "new_temp = df.explode('status')\n",
  • "new_temp"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "c984e701",
  • "metadata": {
  • "scrolled": false
  • },
  • "outputs": [],
  • "source": [
  • "df2 = df.merge(new_temp, left_index=True, right_index=True, suffixes=(\"_test\",\"_status\"))\n",
  • "df2"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "c9081831",
  • "metadata": {},
  • "outputs": [],
  • "source": [
  • "df2.to_excel(\"test.xlsx\")"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "5aa598fa",
  • "metadata": {},
  • "outputs": [],
  • "source": [
  • "temp = df.explode('status.results_scores')\n",
  • "temp"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "c16df369",
  • "metadata": {
  • "scrolled": true
  • },
  • "outputs": [],
  • "source": [
  • "temp"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "dde802e6",
  • "metadata": {
  • "scrolled": false
  • },
  • "outputs": [],
  • "source": [
  • "l1 = []\n",
  • "for l in list_test_status_result:\n",
  • " l1 = l1 + l['test_status_result']\n",
  • "df = pd.DataFrame(l1)\n",
  • "df = pd.concat([df, df[\"service\"].apply(pd.Series)], axis=1)\n",
  • "df"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "4b36a671",
  • "metadata": {},
  • "outputs": [],
  • "source": [
  • "df['results_scores']"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "9916d649",
  • "metadata": {
  • "scrolled": false
  • },
  • "outputs": [],
  • "source": [
  • "import numpy as np\n",
  • "\n",
  • "df1 = pd.DataFrame(df['status'][0])\n",
  • "temp_df = pd.DataFrame.from_dict(np.concatenate(df1['results_scores']).tolist())\n",
  • "temp_df[:10]"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "024c43da",
  • "metadata": {},
  • "outputs": [],
  • "source": [
  • "final_df = df1.merge(temp_df, how='inner', left_index=True, right_index=True)\n",
  • "final_df\n"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "58ad756c",
  • "metadata": {
  • "scrolled": true
  • },
  • "outputs": [],
  • "source": [
  • "df = pd.DataFrame(list_test_status_result)\n",
  • "df"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "5ac35907",
  • "metadata": {},
  • "outputs": [],
  • "source": [
  • "df = df.explode('test_status_result')\n",
  • "df"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "1f9a585d",
  • "metadata": {
  • "scrolled": false
  • },
  • "outputs": [],
  • "source": [
  • "l0 = []\n",
  • "for l in list_test_status_result:\n",
  • " for t in l['test_status_result']:\n",
  • " for st in t['status']:\n",
  • " for rs in st['results_scores']:\n",
  • " temp = t['service'] | (t['target'] or {}) | rs\n",
  • " temp['sla_name'] = st['sla_name'] \n",
  • " temp['time_stamp'] = st['time_stamp']\n",
  • " temp['time_stamp_display'] = st['time_stamp_display']\n",
  • " l0.append(temp)\n",
  • "l0[:10]"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "7c0d9839",
  • "metadata": {},
  • "outputs": [],
  • "source": [
  • "list_test_status_result = list(db['exfo_api'].find({}, {'test_status_result':1}))\n",
  • "list_test_status_result"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "956c1225",
  • "metadata": {},
  • "outputs": [],
  • "source": [
  • "pd.set_option('display.max_rows', 500)\n",
  • "pd.set_option('display.max_columns', 500)\n",
  • "pd.set_option('display.width', 1000)\n",
  • "\n",
  • "temp = []\n",
  • "for l in list_test_status_result:\n",
  • " for d in l['test_status_result']:\n",
  • " for s in d['status']:\n",
  • " for rs in s['results_scores']:\n",
  • " t2 = {rs['name']: [rs['raw_value'], rs['score']]}\n",
  • " temp.append({**d, **s, **t2})\n",
  • "temp\n",
  • "df = pd.json_normalize(temp)\n",
  • "#df.set_index(['time_stamp_display'], inplace=True)\n",
  • "df['sla_service'] = df['sla_name'] + \"/\" + df['service_name']\n",
  • "df['sla_service'].unique()"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "d6efa7a5",
  • "metadata": {},
  • "outputs": [],
  • "source": [
  • "f = df[df['sla_service'] == 'BV110_CMI/HTTPS Web Performances']\n",
  • "f.set_index(['time_stamp_display'], inplace=True)\n",
  • "f"
  • ]
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "80181787",
  • "metadata": {},
  • "outputs": [],
  • "source": []
  • },
  • {
  • "cell_type": "code",
  • "execution_count": null,
  • "id": "0e1394e6",
  • "metadata": {},
  • "outputs": [],
  • "source": []
  • }
  • ],
  • "metadata": {
  • "kernelspec": {
  • "display_name": "Python 3 (ipykernel)",
  • "language": "python",
  • "name": "python3"
  • },
  • "language_info": {
  • "codemirror_mode": {
  • "name": "ipython",
  • "version": 3
  • },
  • "file_extension": ".py",
  • "mimetype": "text/x-python",
  • "name": "python",
  • "nbconvert_exporter": "python",
  • "pygments_lexer": "ipython3",
  • "version": "3.10.4"
  • }
  • },
  • "nbformat": 4,
  • "nbformat_minor": 5
  • }
  • Iniciar sesión - Gogs: Simplico Git Service

    Iniciar sesión