# Drop rows where description is missing df_clean = df.dropna(subset=['description']) # Add a viral flag for repos with over 50k stars df_clean = df_clean.copy() df_clean['viral'] = df_clean['stars'].apply(lambda x: 'Yes' if x > 50000 else 'No') # Sort by stars descending df_clean = df_clean.sort_values('stars', ascending=False).reset_index(drop=True) print("Before cleaning:", len(df)) print("After cleaning:", len(df_clean))