您的位置:首页 > 编程语言 > Python开发

Python数据分析_Pandas

2017-05-09 09:40 405 查看
pandas可以很方便的读取/存储各种格式的本地文件,读取用read_xx(),写入用to_xx()。

读取 —– 写入

read_csv —– to_csv

read_excel —– to_excel

read_hdf —– to_hdf

read_sql —– to_sql

read_json —– to_json

read_msgpack (experimental) —– to_msgpack (experimental)

read_html —– to_html

read_gbq (experimental) —– to_gbq (experimental)

read_stata —– to_stata

read_clipboard —– to_clipboard

read_pickle —– to_pickle

常用的:csv, excel, json, pickle数据格式的读写

pd.read_csv(filepath_or_buffer, sep=’,’, 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, 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, iterator=False, chunksize=None, compression=’infer’, thousands=None, decimal=b’.’, lineterminator=None, quotechar=’”’, quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=False, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, skip_footer=0, doublequote=True, delim_whitespace=False, as_recarray=False, compact_ints=False, use_unsigned=False, low_memory=True, buffer_lines=None, memory_map=False, float_precision=None)

read_csv()常用参数:

filepath_or_buffer : str,pathlib。str, pathlib.Path,

py._path.local.LocalPath or any object with a read() method

(such as a file handle or StringIO)

读取文件路径,可以是URL,可用URL类型包括:http, ftp, s3和文件。

sep :str, default ‘,’

指定分隔符。如果不指定参数,则会尝试使用逗号分隔。csv文件一般为逗号分隔符。

delimiter : str, default None

定界符,备选分隔符(如果指定该参数,则sep参数失效)

header :int or list of ints, default ‘infer’

指定行数用来作为列名,数据开始行数。如果文件中没有列名,则默认为0,否则设置为None。

names : array-like, default None

用于结果的列名列表,对各列重命名,即添加表头。

如数据有表头,但想用新的表头,可以设置header=0,names=[‘a’,’b’]实现表头定制。

index_col : int or sequence or False, default None

用作行索引的列编号或者列名,如果给定一个序列则有多个行索引。

可使用index_col=[0,1]来指定文件中的第1和2列为索引列。

squeeze : boolean, default False

如果文件只包含一列,则返回一个Series

dtype : Type name or dict of column -> type, default None

每列数据的数据类型。例如 {‘a’: np.float64, ‘b’: np.int32}

parse_dates: boolean or list of ints or names
4000
or list of lists or dict, default False

df=pd.read_csv(file_path,parse_dates=[‘time1’,’time2’]),

把time1和time2两列解析为日期格式。

这里不得不说,很遗憾中文不行,比如‘4月5日’这种格式就不能解析。

date_parser : function, default None

于解析日期的函数,默认使用dateutil.parser.parser来做转换。

Pandas尝试使用三种不同的方式解析,如果遇到问题则使用下一种方式。

1.使用一个或者多个arrays(由parse_dates指定)作为参数;

2.连接指定多列字符串作为一个列作为参数;

3.每行调用一次date_parser函数来解析一个或者多个字符串(由parse_dates指定)作为参数。

*读取多个文件

import pandas

import glob

for r in glob.glob(“test*.csv”):

csv=pandas.read_csv(r)

csv.to_csv(“test.txt”,mode=”a+”)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: