Columns with no (or nearly no) differences between rows worth keeping? I have a dataset which contains multiple columns. On analysis, I found out that there were few columns which contain just a single value. There was 0 in all the rows of these columns. Does it hold any information or should I remove such columns from the dataset?

Few columns were also like that it contains 100k rows of type1 and 3-4 rows of type2. Should i also remove this columns or let them remain as such? 

Note: Target column is different than the columns described.
The features you described are known as low variance features and in general you should remove those features. The rationale behind this, is that low variance feature contain less information. See this for a succinct explanation and some code in python. Be sure to normalize your features. One of the advantages is to speed the training phase.