There is no real difference (both are based on the same underlying function), but as noted in the comments, they have some different default values (index_col
is 0 or None, parse_dates
is True or False for read_csv
and DataFrame.from_csv
respectively) and read_csv
supports more arguments (in from_csv
they are just not passed through).
Apart from that, it is recommended to use pd.read_csv
.
DataFrame.from_csv
exists merely for historical reasons and to keep backwards compatibility (plans are to deprecate it, see here), but all new features are only added to read_csv
(as you can see in the much longer list of keyword arguments). Actually, this should be made more clear in the docs.