I have a dataframe that I scraped from Yahoo Finance. I want to replace missing values (which are noted as "-") so that I can adjusted the dataframe to numeric. However, when I use the replace function, it removes the "-" from negative numbers a well. Is there a way so that I can replace only strings in my dataframe exactly equal to "-"?
You can use the replace option on either the whole dataframe or a specific column:
#How to replace on a specific column
d = {'col1': [-10.5, 10.5, '-'], 'col2': [3, 4, '-']}
df = pd.DataFrame(d)
df['col1'].replace('-', 'something else')
#How to replace for entire dataframe
d = {'col1': [-10.5, 10.5, '-'], 'col2': [3, 4, '-']}
df = pd.DataFrame(d)
df.replace('-', 'something else')