There are 16 invalid values in the dataset. How can I detect and delete rows with these invalid values?
Does it make more sense to mean or mode rather than delete the row of data?

```
import numpy as np
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
from pandas import read_csv
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import StratifiedKFold
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB

url = "https://raw.githubusercontent.com/genceremre/Datasets/master/breast-cancer-wisconsin.csv"
names = ['Clump Thickness', 'Cell-Size', 'Cell-Shape', 'Marginal-Adhesion', 
         'Single Epithelial Cell Size', 
         'Bare Nuclei', 'Bland Chromatin',
         'Normal Nucleoli', 'Mitoses', 'Class']
dataset = read_csv(url, names = names)

print(dataset.shape)
print(dataset.head(10))

print(dataset.describe())

print(dataset.groupby('Class').size())

num_missing = (dataset[0:]=='?').sum()
print(num_missing)

```