1.Pandas简介
Pandas处理以下三个数据结构 -
Series
)DataFrame
)Panel
)DataFrame
是Series
的容器,Panel
是DataFrame
的容器。DataFrame
被广泛使用,是最重要的数据结构之一。面板使用少得多。pandas.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=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, doublequote=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None) 常用参数解释:read_csv与read_table常用的参数(更多参数查看官方手册): filepath_or_buffer #需要读取的文件及路径 sep / delimiter 列分隔符,普通文本文件,应该都是使用结构化的方式来组织,才能使用dataframe header 文件中是否需要读取列名的一行,header=None(使用names自定义列名,否则默认0,1,2,...),header=0(将首行设为列名) names 如果header=None,那么names必须制定!否则就没有列的定义了。 shkiprows= 10 # 跳过前十行 nrows = 10 # 只去前10行 usecols=[0,1,2,...] #需要读取的列,可以是列的位置编号,也可以是列的名称 parse_dates = [‘col_name‘] # 指定某行读取为日期格式 index_col = None /False /0,重新生成一列成为index值,0表示第一列,用作行索引的列编号或列名。可以是单个名称/数字或由多个名称/数宇组成的列表(层次化索引) error_bad_lines = False # 当某行数据有问题时,不报错,直接跳过,处理脏数据时使用 na_values = ‘NULL‘ # 将NULL识别为空值 encoding=‘utf-8‘ #指明读取文件的编码,默认utf-8
读取csv/txt/tsv文件,返回一个DataFrame类型的对象。
案例分析:
(1)参数只有csv文件的路径,其他保持默认
import pandas as pd df=pd.read_csv(‘hotelreviews50_1.csv‘) #hotelreviews50_1.csv文件与.py文件在同一级目录下 print(df.head(3)) #读取前3行
控制台输出:
从输出可见,默认会将第一行当成列名
(2)在读数之后自定义标题
import pandas as pd df=pd.read_csv(‘hotelreviews50_1.csv‘) #hotelreviews50_1.csv文件与.py文件在同一级目录下 #在读数之后自定义标题 columns_name=[‘mysql_id‘,‘hotelname‘,‘customername‘,‘reviewtime‘,‘checktime‘,‘reviews‘,‘scores‘,‘type‘,‘room‘,‘useful‘,‘likenumber‘] df.columns=columns_name print(df.head(3)) #读取前3行
控制台输出:
(3)csv文件没有列标题,从第一行就直接开始是数据的录入了
import pandas as pd df=pd.read_csv(‘hotelreviews50_1.csv‘,header=None) #hotelreviews50_1.csv文件与.py文件在同一级目录下 #在读数之后自定义标题 columns_name=[‘mysql_id‘,‘hotelname‘,‘customername‘,‘reviewtime‘,‘checktime‘,‘reviews‘,‘scores‘,‘type‘,‘room‘,‘useful‘,‘likenumber‘] df.columns=columns_name print(df.head(3)) #读取前3行
这个时候一定要加‘header=None‘, 这样读进来的列名就是系统默认的0,1,2... 序列号
由上可见编号为201 的数据读进来了。
Python之Pandas 简介与Pandas 读取csv文件及相关操作
原文:https://www.cnblogs.com/luckyplj/p/13193985.html