EDA del conjunto de datos de la carrera espacial
Vamos a presentarles los esfuerzos de "lanzamiento de cohetes" de la humanidad. Averigüemos
el "cómo", en cuánto tiempo realmente intentamos el increíblemente complicado arte del "lanzamiento del cohete", desde dónde preferimos lanzar a estos cachorros, quién es este "nosotros" y cuánto cuesta realmente . todo costo?
1.0 Los contendientes

Primera ráfaga de información. Wordcloud dibuja el paisaje y presenta las empresas de la manera más eficiente posible.
Sin embargo, tiende a carecer de una sensación de profundidad, por lo que también veremos un gráfico más tradicional, que permitirá agregar algunos números concretos en la mezcla.

from wordcloud import WordCloud
company_counts = df['Company Name'].value_counts()
company_dict = company_counts.to_dict()
wordcloud = WordCloud(width=800, height=400, background_color='white', colormap='viridis').generate_from_frequencies(company_dict)
plt.figure(figsize=(16, 6))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
plt.figure(figsize=(16,6))
sns.countplot(data=df, x="Company Name", order=df["Company Name"].value_counts().index)
plt.xticks(rotation=90)
plt.ylabel("Cummulative Missions")
plt.show()
Los rusos están persiguiendo implacablemente su hambre de una exitosa misión de aterrizaje en la Luna. Pero... ¿es realmente la historia completa?
1.1 La cronología de los esfuerzos de la misión

def extract_year(datum):
parts = datum.split(" ")
year = parts[3].strip()
year = int(year)
return year
df['Year'] = df['Datum'].apply(extract_year)
plt.figure(figsize=(7,11))
sns.scatterplot(data=df, y="Company Name", x="Year", hue="Status Mission")
plt.show()
— RVSN URSS dejó de lanzar cohetes hace mucho tiempo. Expandamos la profundidad agregando la intensidad de los esfuerzos anuales a la mezcla

cumulative_entries = df.groupby(['Year', 'Company Name']).cumcount() + 1
df_cumulative = df[['Year', 'Company Name']].copy()
df_cumulative['Cumulative Entries'] = cumulative_entries
plt.figure(figsize=(7, 11))
sns.scatterplot(data=df, y="Company Name", x="Year", hue="Status Mission", size=df_cumulative['Cumulative Entries'], size_norm=None)
handles, labels = plt.gca().get_legend_handles_labels()
plt.title('Space Missions by Company and Year')
plt.show()

La intensidad del esfuerzo proveniente de los nuevos contendientes del juego Rocket Launch se observa muy bien en el diagrama de líneas anterior.
1.2 El “Dónde”
Echemos un vistazo a los sitios de lanzamiento y los países que se lanzaron con frecuencia.
Para esta visualización, solo se tienen en cuenta los países con más de 10 lanzamientos.

country_missions = df.groupby('Country').size().reset_index(name='Total Missions')
filtered_countries = country_missions[country_missions['Total Missions'] > 10]['Country']
filtered_df = df[df['Country'].isin(filtered_countries)]
yearly_missions = filtered_df.groupby(['Year', 'Country']).size().reset_index(name='Missions')
yearly_missions['Cumulative Missions'] = yearly_missions.groupby('Country')['Missions'].cumsum()
fig, ax = plt.subplots(figsize=(13, 7.6))
sns.lineplot(x='Year', y='Cumulative Missions', hue='Country', style='Country', data=yearly_missions)
plt.title('Countries and their utilization as a Launch Location')
plt.show()
La perspectiva también se encuentra a continuación.

colors = ['#f7fbff', '#deebf7', '#c6dbef', '#9ecae1', '#6baed6', '#4292c6', '#2171b5', '#08519c', '#08306b']
cmap = ListedColormap(colors)
worldmap = gpd.read_file(gpd.datasets.get_path("naturalearth_lowres"))
country_missions.loc[country_missions['Country'] == 'USA', 'Country'] = 'United States of America'
worldmap['Country'] = worldmap['name']
merged_worldmap = worldmap.merge(country_missions, on='Country', how='left')
fig, ax = plt.subplots(figsize=(12, 6))
merged_worldmap.plot(column='Total Missions', cmap=cmap, linewidth=0.8, edgecolor='0.8', legend=True, ax=ax, legend_kwds={'label': "Total Missions"}, missing_kwds={'color': "white"})
ax.set_title('Countries and their utilization as a Launch Location')
ax.set_xlabel('Longitude')
ax.set_ylabel('Latitude')
plt.show()
¿Con qué frecuencia tiene éxito la misión? ¿Es seguro?

Bien..
launch_counts = df.groupby(['Year', 'Status Mission']).size().reset_index(name='Count')
pivot_counts = launch_counts.pivot(index='Year', columns='Status Mission', values='Count').fillna(0)
sns.set_style('whitegrid')
plt.figure(figsize=(14, 5.6))
sns.barplot(x=pivot_counts.index, y=pivot_counts['Success'], color='g', label='Success')
sns.barplot(x=pivot_counts.index, y=pivot_counts['Failure'], bottom=pivot_counts['Success'], color='r', label='Failure')
plt.xlabel('Year')
plt.ylabel('Number of Launches')
plt.title('Number of Successful vs. "Failure" Launches Each Year')
plt.xticks(rotation=45)
plt.legend()
plt.show()
Companies and their track record | 4 row subplotted barplot
Al observar la distribución del éxito anterior, tenga en cuenta que la Marina de los EE. UU. solo intentó lanzar cohetes al principio (década de 1950). Con esta porción terminada, echemos un vistazo al costo $.
1.4 El costo

def millions_formatter(x):
return f"{round(x * 1e-3):,.0f}B$"
grouped_data = df.groupby('Company Name')[' Rocket'].sum().reset_index()
fig.update_layout(title='Distribution of Rocket Costs by Company')
fig.show()

from matplotlib.ticker import FuncFormatter
grouped_data = df.groupby('Year')[' Rocket'].sum().reset_index()
grouped_data[' Rocket'] = grouped_data[' Rocket'] / 1000
plt.figure(figsize=(12, 8))
sns.barplot(x='Year', y=' Rocket', data=grouped_data, color="b")
plt.xticks(rotation=45)
plt.xlabel('Year')
plt.ylabel('Expenditure in USD')
plt.title('Sum of Documented* expenses per Year')
def billions_formatter(x, pos):
return f"{x * 1000000000 :,.0f}$"
ax = plt.gca()
ax.yaxis.set_major_formatter(FuncFormatter(billions_formatter))
plt.show()
Gastar miles de millones de dólares estadounidenses puede parecer una gran inversión.
Sin embargo, no es nada , en comparación con los 1,42 billones de dólares estadounidenses que genera el mercado farmacéutico solo en 2021 (por supuesto, se sabe que phara "imprime dinero" en algunos casos). Además, la industria de fabricación de automóviles generó aproximadamente 2,86 billones de dólares estadounidenses en ingresos en 2021. Por lo tanto, el transporte espacial todavía tiene una buena parte del camino por recorrer.
1.5 Los datos de origen

nextspaceflight.com
¡Despegar! Gracias por leer.

# U S E D L I B R A R I E S
import pandas as pd
import geopandas as gpd
import seaborn as sns
import matplotlib.pyplot as plt
from matplotlib.ticker import FuncFormatter
from wordcloud import WordCloud
import plotly.graph_objects as go