Examen 2

parent 9b659647
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -560,7 +560,7 @@
},
{
"cell_type": "code",
"execution_count": 61,
"execution_count": 15,
"metadata": {},
"outputs": [
{
......@@ -572,7 +572,7 @@
" tol=0.001, verbose=False)"
]
},
"execution_count": 61,
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
......@@ -600,7 +600,7 @@
},
{
"cell_type": "code",
"execution_count": 62,
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
......@@ -612,7 +612,7 @@
},
{
"cell_type": "code",
"execution_count": 63,
"execution_count": 14,
"metadata": {},
"outputs": [
{
......@@ -621,7 +621,7 @@
"0"
]
},
"execution_count": 63,
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
......@@ -649,14 +649,14 @@
},
{
"cell_type": "code",
"execution_count": 70,
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0 0 0 0 0 1 1 1 1 1 2 2 2 2 2]\n",
"[1 1 1 1 1 0 0 0 0 0 2 2 2 2 2]\n",
"[0 0 0 0 0 1 1 1 1 1 2 2 2 2 2]\n"
]
}
......@@ -982,13 +982,6 @@
"\n",
"Modifique la clase SpamDetector para que el constructor cargue un modelo previamente entrenado desde un archivo. Pruebe el código haciendo que se cargue el pickle del ejercicio anterior y realice la predicción de nuevos documentos no utilizados en el entrenamiento.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
File added
......@@ -1221,7 +1221,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
......@@ -1231,7 +1231,7 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
......@@ -1446,16 +1446,43 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 13,
"metadata": {},
"outputs": [],
"outputs": [
{
"ename": "KeyError",
"evalue": "'three'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m~/.local/lib/python3.5/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 2601\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2602\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2603\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
"\u001b[0;31mKeyError\u001b[0m: 'three'",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-13-afd45d14baa6>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mthree\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'three'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m~/.local/lib/python3.5/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36mpop\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 798\u001b[0m \u001b[0;36m3\u001b[0m \u001b[0mmonkey\u001b[0m \u001b[0mNaN\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 799\u001b[0m \"\"\"\n\u001b[0;32m--> 800\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 801\u001b[0m \u001b[0;32mdel\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 802\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.5/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 2915\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnlevels\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2916\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2917\u001b[0;31m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2918\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_integer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2919\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/.local/lib/python3.5/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 2602\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2603\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2604\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_maybe_cast_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2605\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtolerance\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2606\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mindexer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mindexer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msize\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
"\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n",
"\u001b[0;31mKeyError\u001b[0m: 'three'"
]
}
],
"source": [
"three = df.pop('three')"
]
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 17,
"metadata": {},
"outputs": [
{
......@@ -1480,43 +1507,53 @@
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>one</th>\n",
" <th>two</th>\n",
" <th>flag</th>\n",
" <th>thrwe</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>a</th>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>False</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>b</th>\n",
" <td>2.0</td>\n",
" <td>2.0</td>\n",
" <td>False</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>c</th>\n",
" <td>3.0</td>\n",
" <td>3.0</td>\n",
" <td>True</td>\n",
" <td>9.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>d</th>\n",
" <td>NaN</td>\n",
" <td>4.0</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" one flag\n",
"a 1.0 False\n",
"b 2.0 False\n",
"c 3.0 True\n",
"d NaN False"
" one two flag thrwe\n",
"a 1.0 1.0 False 1.0\n",
"b 2.0 2.0 False 4.0\n",
"c 3.0 3.0 True 9.0\n",
"d NaN 4.0 False NaN"
]
},
"execution_count": 11,
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
......@@ -1527,7 +1564,7 @@
},
{
"cell_type": "code",
"execution_count": 18,
"execution_count": 21,
"metadata": {},
"outputs": [
{
......@@ -1552,10 +1589,11 @@
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>one</th>\n",
" <th>three</th>\n",
" <th>two</th>\n",
" <th>flag</th>\n",
" <th>thrwe</th>\n",
" <th>thre</th>\n",
" <th>thrwee</th>\n",
" <th>thrweee</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
......@@ -1566,53 +1604,155 @@
" <td>False</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>b</th>\n",
" <td>2.0</td>\n",
" <td>4.0</td>\n",
" <td>2.0</td>\n",
" <td>False</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>c</th>\n",
" <td>3.0</td>\n",
" <td>9.0</td>\n",
" <td>3.0</td>\n",
" <td>True</td>\n",
" <td>9.0</td>\n",
" <td>9.0</td>\n",
" <td>9.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>d</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>4.0</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" one three flag thrwe thre\n",
"a 1.0 1.0 False 1.0 1.0\n",
"b 2.0 4.0 False 4.0 4.0\n",
"c 3.0 9.0 True 9.0 9.0\n",
"d NaN NaN False NaN NaN"
" one two flag thrwe thrwee thrweee\n",
"a 1.0 1.0 False 1.0 1.0 1.0\n",
"b 2.0 2.0 False 4.0 4.0 4.0\n",
"c 3.0 3.0 True 9.0 9.0 9.0\n",
"d NaN 4.0 False NaN NaN NaN"
]
},
"execution_count": 18,
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.insert(3, \"thrwe\", three)\n",
"df.insert(5, \"thrweee\", three)\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>a</th>\n",
" <th>b</th>\n",
" <th>c</th>\n",
" <th>d</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>one</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>two</th>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>flag</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>thrwe</th>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>9</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>thrwee</th>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>9</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>thrweee</th>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>9</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" a b c d\n",
"one 1 2 3 NaN\n",
"two 1 2 3 4\n",
"flag False False True False\n",
"thrwe 1 4 9 NaN\n",
"thrwee 1 4 9 NaN\n",
"thrweee 1 4 9 NaN"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.T"
]
},
{
"cell_type": "markdown",
"metadata": {},
......
testEF.png

26.4 KB | W: | H:

testEF.png

26.5 KB | W: | H:

testEF.png
testEF.png
testEF.png
testEF.png
  • 2-up
  • Swipe
  • Onion skin
Avengers: Endgame (Vengadores: Endgame en España1​) es una futura película de superhéroes basada en el equipo «Los Vengadores» de los cómics de Marvel Comics, producida por Marvel Studios y distribuida por Walt Disney Studios Motion Pictures, a ser estrenada en 2019. Es una secuela directa de la película de 2018 Avengers: Infinity War y una continuación de The Avengers (2012) y Avengers: Age of Ultron (2015), siendo la vigésimo segunda película del Universo cinematográfico de Marvel (MCU, por sus siglas en inglés). La cinta está dirigida por Anthony y Joe Russo, con un guión escrito por el equipo conformado por Christopher Markus y Stephen McFeely, y contando con la aparición de múltiples actores de películas anteriores del Universo cinematográfico de Marvel.
La película fue anunciada en octubre de 2014 como «Avengers: Infinity War – Part 2». Los Hermanos Russo se unieron para dirigir la película en abril de 2015 y en mayo, Markus y McFeely firmaron para escribir el guion. En julio de 2016, Marvel quitó el nombre de la película, refiriéndose a ella simplemente como Película sin título de Avengers. La filmación comenzó en agosto de 2017 en Pinewood Studios en el Condado de Fayette, Georgia, al mismo tiempo de la grabación de Avengers: Infinity War, y concluyó en enero de 2018. La grabación de algunas escenas adicionales tuvo lugar en el centro y la zona metropolitana de la ciudad de Atlanta.
La cinta está programada para ser lanzada en Estados Unidos el 26 de abril de 2019, en formato IMAX y 3D.
Con el teaser tráiler lanzado el 7 de diciembre de 2018 se reveló que la fecha de estreno se había adelantado para el 26 abril del 2019.
El vino (del latín vinum) es una bebida obtenida de la uva (especie Vitis vinifera), mediante la fermentación alcohólica de su mosto o zumo.2​ La fermentación se produce por la acción metabólica de levaduras, que transforman los azúcares del fruto en etanol y el gas en forma de dióxido de carbono. El azúcar y los ácidos que posee la fruta, Vitis vinífera, son suficientes para el desarrollo de la fermentación. No obstante, el vino es una suma de factores ambientales: clima, latitud, altitud, horas de luz y temperatura, entre varios otros.3​ Aproximadamente un 66 % de la recolección mundial de uva, se dedica a la producción vinícola; el resto es para su consumo como fruta.4​ A pesar de ello el cultivo de la vid cubre tan solo un 0,5 % del suelo cultivable en el mundo.5​ El cultivo de la vid se ha asociado a lugares con un clima mediterráneo, no en vano, la mitad de la producción mundial de vino la concentran tan solo 3 países mediterráneos: Italia, Francia y España.6​
Se da el nombre de «vino» únicamente al líquido resultante de la fermentación alcohólica, total o parcial, del zumo de uvas, sin adición de ninguna sustancia. En muchas legislaciones se considera solo como vino a la bebida fermentada obtenida de Vitis vinifera, pese a que se obtienen bebidas semejantes de otras especies como la Vitis labrusca, Vitis rupestris, etc. El conocimiento de la ciencia particular de la elaboración del vino se denomina enología (sin considerar los procesos de cultivo de la vid). La ciencia que trata tan solo de la biología de la vid, así como de su cultivo, se denomina ampelología.
El Centro de Investigación en Geografía y Geomática Ing. Jorge L. Tamayo A.C. (CentroGeo), es una institución académica mexicana dedicada a la investigación, educación, innovación tecnológica y diseminación de conocimientos en geomática y geografía contemporánea, a nivel interno e internacional.2​
Es un centro público de investigación integrado al Sistema CONACyT.3​ Cuenta con un programa de posgrado y líneas de investigación en Geomática.4​
La investigación aplicada en el CentroGeo tiene un claro enfoque en la generación de soluciones de Geomática para una amplia variedad de temas que enfrentan las organizaciones.
Como parte de su estrategia funcionamiento, el CentroGeo desarrolla programas y la amplia difusión del conocimiento generado a nivel nacional o internacional.
Shazam! es una próxima película de superhéroes estadounidense basada en el personaje de DC Comics del mismo nombre. Se pretende que sea la séptima entrega en el Universo extendido de DC Comics (DCEU). La película está dirigida por David F. Sandberg a partir de un guión de Henry Gayden y una historia de Gayden y Darren Lemke. La película está protagonizada por Asher Angel como Billy Batson, un adolescente que puede transformarse mediante la palabra mágica «Shazam» en un superhéroe adulto, interpretado por Zachary Levi. Shazam! también presenta a Mark Strong, Jack Dylan Grazer, Grace Fulton, Ian Chen, Jovan Armand, Faithe Herman y Djimon Hounsou como personajes secundarios. Será la primera versión cinematográfica del personaje desde Adventures of Captain Marvel (el nombre original del personaje) y será el primer largometraje centrado en el personaje.
El desarrollo de Shazam! comenzó a principios de la década de 2000, pero nunca siguió adelante durante muchos años. La película entró en preproducción en 2008 con el director Peter Segal y el guionista John August, y fue Dwayne Johnson considerado para retratar al villano Black Adam,2​3​ pero el proyecto fracasó. William Goldman, Alec Sokolow, Joel Cohen, Bill Birch, y Geoff Johns, entre otros, estaban todos vinculados al proyecto como escritores en varios puntos. Warner Bros. luego anunció oficialmente la película en 2014, con Johnson asociado para retratar a Shazam o Black Adam.4​ Pero luego fue elegido en enero de 2017 para dirigir un proyecto de desarrollo de Black Adam en solitario.5​ Sandberg se unió para dirigir a Shazam! en febrero de 2017 y Levi fue seleccionado ese octubre. La fotografía principal comenzó en Toronto, Ontario, Canadá en enero de 2018, con la mayor parte de la película filmada en Pinewood Toronto Studios, y finalizó en mayo de 2018.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment