It’s simple. It’s easy to debug. I genuinely don’t understand the point of all this other nonsense like anaconda.
Unfortunately when it comes to data-science-Python it seems like the patients are running the asylum. The APIs and developer ergonomics of tools like tensorflow, pandas etc... are so bizarre to people who are running production, vanilla Python.
pandas.read_table(filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]], sep='t', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)
I use R happily enough, and MATLAB too for that matter. Maybe, some-day, I'll see the pandas-light.
I am not a big fan of (the over-use of) optional arguments either: I prefer code I'm reading to be more explicit, which is more pythonic imo.
I disagree with the code is thus doing too much, however.
At least in this specific and some other cases, the method shown there is a wrapper to do a major task of converting data formats from one form to another.
These optional, well-documented arguments show the defaults used, and are modifiable in, as you said, specific use-cases.
Given how utterly powerful it is, I think that's OK.
Not sure a large list of optional params (with good documentation) is a bad thing though.
I'm not a data scientist so I have little experience with these tools, except for Pandas, which I won't use unless I have to.