statsmodels.iolib.foreign.savetxt

statsmodels.iolib.foreign.savetxt(fname, X, names=None, fmt='%.18e', delimiter=' ')[source]

Save an array to a text file.

This is just a copy of numpy.savetxt patched to support structured arrays or a header of names. Does not include py3 support now in savetxt.

Parameters
fnamefilename or file handle

If the filename ends in .gz, the file is automatically saved in compressed gzip format. loadtxt understands gzipped files transparently.

Xarray_like

Data to be saved to a text file.

nameslist, optional

If given names will be the column header in the text file.

fmtstr or sequence of strs

A single format (%10.5f), a sequence of formats, or a multi-format string, e.g. ‘Iteration %d – %10.5f’, in which case delimiter is ignored.

delimiterstr

Character separating columns.

See also

save

Save an array to a binary file in NumPy .npy format

savez

Save several arrays into a .npz compressed archive

Notes

Further explanation of the fmt parameter (%[flag]width[.precision]specifier):

flags:

- : left justify

+ : Forces to preceed result with + or -.

0 : Left pad the number with zeros instead of space (see width).

width:

Minimum number of characters to be printed. The value is not truncated if it has more characters.

precision:
  • For integer specifiers (eg. d,i,o,x), the minimum number of digits.

  • For e, E and f specifiers, the number of digits to print after the decimal point.

  • For g and G, the maximum number of significant digits.

  • For s, the maximum number of characters.

specifiers:

c : character

d or i : signed decimal integer

e or E : scientific notation with e or E.

f : decimal floating point

g,G : use the shorter of e,E or f

o : signed octal

s : str of characters

u : unsigned decimal integer

x,X : unsigned hexadecimal integer

This explanation of fmt is not complete, for an exhaustive specification see [1].

References

1

Format Specification Mini-Language, Python Documentation.

Examples

>>> savetxt('test.out', x, delimiter=',')   # x is an array
>>> savetxt('test.out', (x,y,z))   # x,y,z equal sized 1D arrays
>>> savetxt('test.out', x, fmt='%1.4e')   # use exponential notation