{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# one-shot code to generate crosstable files\n", "\n", "Should only need to use this once. \n", "\n", "Grabbing these objects: \n", "* cross_counterid_techniqueid\n", "* cross_counterid_resourceid\n", "* cross_counterid_actortypeid\n", "* cross_detectionid_techniqueid \n", "* cross_detectionid_resourceid\n", "* cross_detectionid_actortypeid " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "from generate_DISARM_pages import Disarm\n", "MASTERDATA_DIR = '../DISARM_MASTER_DATA/'\n", "\n", "disarm = Disarm()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def grab_crosstable(df, column, outfile):\n", " df = df[df[column] != '']\n", " df.to_csv(MASTERDATA_DIR + outfile, index=False)\n", " return df" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
disarm_idtechnique_id
0C00022T0001
0C00022T0002
0C00022T0003
0C00022T0006
0C00022T0027
.........
134C00216T0018
134C00216T0057
135C00219T0024
135C00219T0026
135C00219T0025
\n", "

881 rows × 2 columns

\n", "
" ], "text/plain": [ " disarm_id technique_id\n", "0 C00022 T0001\n", "0 C00022 T0002\n", "0 C00022 T0003\n", "0 C00022 T0006\n", "0 C00022 T0027\n", ".. ... ...\n", "134 C00216 T0018\n", "134 C00216 T0057\n", "135 C00219 T0024\n", "135 C00219 T0026\n", "135 C00219 T0025\n", "\n", "[881 rows x 2 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grab_crosstable(disarm.cross_counterid_techniqueid, \n", " 'technique_id', 'cross_counter_technique.csv')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
disarm_idresource_id
26C00044R004
59C00092R001
63C00097R004
65C00099R004
67C00101R004
69C00105R003
99C00142R004
102C00147R004
103C00148R004
126C00195R002
127C00197R003
\n", "
" ], "text/plain": [ " disarm_id resource_id\n", "26 C00044 R004\n", "59 C00092 R001\n", "63 C00097 R004\n", "65 C00099 R004\n", "67 C00101 R004\n", "69 C00105 R003\n", "99 C00142 R004\n", "102 C00147 R004\n", "103 C00148 R004\n", "126 C00195 R002\n", "127 C00197 R003" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grab_crosstable(disarm.cross_counterid_resourceid, \n", " 'resource_id', 'cross_counter_resource.csv')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
disarm_idactortype_id
1C00006A033
2C00008A007
3C00009A016
3C00009A006
4C00010A020
.........
132C00207A018
132C00207A033
133C00212A006
133C00212A018
134C00216A023
\n", "

79 rows × 2 columns

\n", "
" ], "text/plain": [ " disarm_id actortype_id\n", "1 C00006 A033\n", "2 C00008 A007\n", "3 C00009 A016\n", "3 C00009 A006\n", "4 C00010 A020\n", ".. ... ...\n", "132 C00207 A018\n", "132 C00207 A033\n", "133 C00212 A006\n", "133 C00212 A018\n", "134 C00216 A023\n", "\n", "[79 rows x 2 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grab_crosstable(disarm.cross_counterid_actortypeid, \n", " 'actortype_id', 'cross_counter_actortype.csv')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
disarm_idtechnique_id
0F00001All
1F00002T0049
1F00002T0052
1F00002T0053
1F00002T0054
.........
82F00083T0012
82F00083T0021
92F00093T0011
93F00094T0013
93F00094T0008
\n", "

159 rows × 2 columns

\n", "
" ], "text/plain": [ " disarm_id technique_id\n", "0 F00001 All\n", "1 F00002 T0049\n", "1 F00002 T0052\n", "1 F00002 T0053\n", "1 F00002 T0054\n", ".. ... ...\n", "82 F00083 T0012\n", "82 F00083 T0021\n", "92 F00093 T0011\n", "93 F00094 T0013\n", "93 F00094 T0008\n", "\n", "[159 rows x 2 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grab_crosstable(disarm.cross_detectionid_techniqueid, \n", " 'technique_id', 'cross_detection_technique.csv')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
disarm_idresource_id
19F00020R004
81F00082R005
91F00092R006
\n", "
" ], "text/plain": [ " disarm_id resource_id\n", "19 F00020 R004\n", "81 F00082 R005\n", "91 F00092 R006" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grab_crosstable(disarm.cross_detectionid_resourceid, \n", " 'resource_id', 'cross_detection_resource.csv')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
disarm_idactortype_id
19F00020A015
19F00020A001
19F00020A031
42F00043A031
42F00043A015
66F00067A001
69F00070A001
70F00071A001
71F00072A001
78F00079A001
79F00080A015
81F00082A028
90F00091A001
90F00091A024
91F00092A015
93F00094A028
\n", "
" ], "text/plain": [ " disarm_id actortype_id\n", "19 F00020 A015\n", "19 F00020 A001\n", "19 F00020 A031\n", "42 F00043 A031\n", "42 F00043 A015\n", "66 F00067 A001\n", "69 F00070 A001\n", "70 F00071 A001\n", "71 F00072 A001\n", "78 F00079 A001\n", "79 F00080 A015\n", "81 F00082 A028\n", "90 F00091 A001\n", "90 F00091 A024\n", "91 F00092 A015\n", "93 F00094 A028" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grab_crosstable(disarm.cross_detectionid_actortypeid, \n", " 'actortype_id', 'cross_detection_actortype.csv')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.3" } }, "nbformat": 4, "nbformat_minor": 4 }