首页 > 编程语言 > 详细

Python之Pandas 简介与Pandas 读取csv文件及相关操作

时间:2020-06-26 11:35:36      阅读:78      评论:0      收藏:0      [点我收藏+]

1.Pandas简介

Pandas处理以下三个数据结构 -

  • 系列(Series)
  • 数据帧(DataFrame)
  • 面板(Panel)
这些数据结构构建在Numpy数组之上,这意味着它们很快
考虑这些数据结构的最好方法是,较高维数据结构是其较低维数据结构的容器。 例如,DataFrameSeries的容器,PanelDataFrame的容器。
技术分享图片
DataFrame被广泛使用,是最重要的数据结构之一。面板使用少得多。
数据帧(DataFrame)是一个具有异构数据的二维数组。 例如,
技术分享图片
上表表示具有整体绩效评级组织的销售团队的数据。数据以行和列表示。每列表示一个属性,每行代表一个人。
2.Pandas读取csv文件
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文件的路径,其他保持默认

 在读取的时候,默认会将第一行记录当成列名。如果没有列名,我们可以指定header=None。
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 的数据读进来了。

 

 

参考文献:https://www.yiibai.com/pandas

 

Python之Pandas 简介与Pandas 读取csv文件及相关操作

原文:https://www.cnblogs.com/luckyplj/p/13193985.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!