床头笔记之pandas.read_csv

pandas使用常用函数翻译pandas.read_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)

常用参数:

filepath_or_buffer : str, pathlib.Path, py._path.local.LocalPath or any \文件路径名字符串,或任何具有read()方法的对象(例如文件句柄或StringIO)例如,本地文件可以是file://localhost/path/to/table.csv

sep:str,默认’,’ 分割符,超过一个字符将视作正则表达式,正则表达式示例:’\r\t’

encoding:str,默认无
编码以在读/写时用于UTF(例如’utf-8’)。Python标准编码列表

header:int或int列表,默认’推断’
用作列名的行号和数据的开头。 默认行为是推断列名:如果没有传递名称,则与header = 0行为相同,并且从文件的第一行推断列名,如果显式传递列名,则行为与header = None相同。 显式传递header = 0以便能够替换现有名称。 标题可以是整数列表,其指定列上的多索引的行位置,例如[0,1,3]。 将跳过未指定的干预行(例如,跳过此示例中的2)。 请注意,此参数忽略注释行和空行ifskip_blank_lines = True,因此header = 0表示第一行数据而不是文件的第一行。

实例:

data_df = pd.read_csv(‘table.csv’, header=0, encoding=“utf-8”)

参数:

filepath_or_buffer : str,pathlib.Path,py._path.local.LocalPath或者任何具有read()方法的对象(例如文件句柄或StringIO)该字符串可以是一个URL。有效的URL方案包括http,ftp,s3和file。对于文件URL,需要主机。例如,本地文件可以是file://localhost/path/to/table.csv

sep:str,默认’,‘分隔符使用。如果sep为None,则C引擎无法自动检测分隔符,但Python解析引擎可以,这意味着后者将被使用并通过Python的内置嗅探器工具自动检测分隔符csv.Sniffer。此外,长度超过1个字符且与分隔符’\s+‘不同将被解释为正则表达式,并且还将强制使用Python解析引擎。请注意,正则表达式分隔符很容易忽略引用的数据。正则表达式示例:’\r\t’

delimiter:str,默认None

sep的替代参数名称。

delim_whitespace:布尔值,默认为False

指定是否将空格(例如或)用作sep。相当于设定。如果此选项设置为True,则不应为 参数传递任何内容。’ ‘’\t’sep=’\s+'delimiter

版本0.18.1中的新增功能:支持Python解析器。

header:int或int列表,默认’推断’

用作列名的行号和数据的开头。默认行为是推断列名:如果没有传递名称,则行为相同,header=0并且从文件的第一行推断列名,如果显式传递列名,则行为相同 header=None。明确传递header=0以能够替换现有名称。标头可以是整数列表,其指定列上的多索引的行位置,例如[0,1,3]。将跳过未指定的干预行(例如,跳过此示例中的2)。请注意,此参数忽略注释行和空行if skip_blank_lines=True,因此header = 0表示第一行数据而不是文件的第一行。

names:array-like,默认为None

要使用的列名列表。如果文件不包含标题行,则应显式传递header = None。此列表中的重复项将导致UserWarning发布。

index_col:int或sequence或False,默认为None

用作DataFrame的行标签的列。如果给出序列,则使用MultiIndex。如果在每行末尾有一个带有分隔符的格式错误的文件,您可能会考虑使用index_col = False来强制pandas使用第一列作为索引(行名称)

usecols:list-like或callable,默认为None

返回列的子集。如果类似列表,则所有元素必须是位置(即文档列中的整数索引)或与用户名称或从文档标题行推断的列名对应的字符串。例如,有效的类似列表的 usecols参数将是[0,1,2]或[‘foo’,‘bar’,‘baz’]。元素顺序被忽略,因此也是如此。要从保留元素顺序实例化DataFrame,请按顺序使用 列或 按顺序使用。usecols=[0, 1][1, 0]datapd.read_csv(data, usecols=[‘foo’, ‘bar’])[[‘foo’, ‘bar’]][‘foo’, ‘bar’]pd.read_csv(data, usecols=[‘foo’, ‘bar’])[[‘bar’, ‘foo’]][‘bar’, ‘foo’]

如果是可调用的,则将根据列名评估可调用函数,返回可调用函数求值为True的名称。一个有效的可调用参数的例子是。使用此参数可以大大加快解析时间并降低内存使用率。lambda x: x.upper() in [‘AAA’, ‘BBB’, ‘DDD’]

squeeze:boolean,默认为False

如果解析的数据只包含一列,则返回一个Series

prefix:str,默认无

没有标题时添加到列号的前缀,例如X0,X1的“X”,…

mangle_dupe_cols:布尔值,默认为True

重复的列将被指定为’X’,‘X.1’,…‘X.N’,而不是’X’…‘X’。如果列中存在重复的名称,则传入False将导致数据被覆盖。

dtype:列的类型名称或字典 - >类型,默认为无

数据或列的数据类型。例如{‘a’:np.float64,‘b’:np.int32}将str或object与合适的na_values设置一起使用以保留和不解释dtype。如果指定了转换器,则它们将应用于dtype转换的INSTEAD。

引擎:{‘c’,‘python’},可选

使用解析器引擎。C引擎速度更快,而python引擎目前功能更加完善。

converter:dict,默认无

用于转换某些列中的值的函数的字典。键可以是整数或列标签

true_values:list,默认无

要考虑为True的值

false_values:list,默认无

要考虑为False的值

skipinitialspace:布尔值,默认为False

分隔符后跳过空格。

skiprows:list-like或integer或callable,默认为None

要在文件开头跳过(0索引)或要跳过的行数(int)的行号。

如果是可调用的,则将根据行索引计算可调用函数,如果应该跳过该行则返回True,否则返回False。一个有效的可调用参数的例子是。lambda x: x in [0, 2]

skipfooter:int,默认值为0

要跳过的文件底部的行数(不支持engine =‘c’)

nrows:int,默认无

要读取的文件行数。用于读取大文件

na_values:标量,str,list-like或dict,默认无

要识别为NA / NaN的其他字符串。如果dict通过,则具体的每列NA值。默认情况下,以下值被解释为NaN:’’,’#N / A’,’#N / AN / A’,’#N’,’ - 1。#IND’,’ - 。#QNAN’, ‘-NaN’,’ - nan’,‘1。#IND’,‘1。#QNAN’,‘N / A’,‘NA’,‘NULL’,‘NaN’,‘n / a’,'nan ', ‘空值’。

keep_default_na:bool,默认为True

解析数据时是否包含默认NaN值。根据是否传入na_values,行为如下:

如果keep_default_na为True,并且na_values指定,na_values 附加到默认用于解析NaN值。
如果keep_default_na为True,并且未指定na_values,则仅使用默认NaN值进行解析。
如果keep_default_na是假,和na_values指定,只有指定的NaN值na_values用于解析。
如果keep_default_na为False,并且未指定na_values,则不会将任何字符串解析为NaN。
请注意,如果将na_filter作为False 传入,则将忽略keep_default_na和 na_values参数。

na_filter:布尔值,默认为True

检测缺失值标记(空字符串和na_values的值)。在没有任何NA的数据中,传递na_filter = False可以提高读取大文件的性能

verbose:布尔值,默认为False

指示放置在非数字列中的NA值的数量

skip_blank_lines:布尔值,默认为True

如果为True,则跳过空行而不是解释为NaN值

parse_dates:boolean或int或名称列表或列表或dict列表,默认为False

布尔值。如果为True - >尝试解析索引。
整体或名称列表。例如,如果[1,2,3] - >尝试将每个列1,2,3解析为一个单独的日期列。
列表清单。例如,如果[[1,3]] - >将第1列和第3列组合在一起并解析为单个日期列。
dict,例如{‘foo’:[1,3]} - >将第1,3列解析为日期并调用结果’foo’
如果列或索引包含不可解析的日期,则整个列或索引将作为对象数据类型以不变的方式返回。对于非标准日期时间解析,请pd.to_datetime在之后使用pd.read_csv

注意:iso8601格式的日期存在快速路径。

infer_datetime_format:boolean,默认为False

如果启用了True和parse_dates,pandas将尝试推断列中日期时间字符串的格式,如果可以推断,请切换到更快的解析方法。在某些情况下,这可以将解析速度提高5-10倍。

keep_date_col:布尔值,默认为False

如果True和parse_dates指定组合多个列,则保留原始列。

date_parser:function,默认无

用于将字符串列序列转换为日期时间实例数组的函数。默认用于dateutil.parser.parser进行转换。Pandas将尝试以三种不同的方式调用date_parser,如果发生异常则前进到下一个:1)将一个或多个数组(由parse_dates定义)作为参数传递 ; 2)将parse_dates定义的列中的字符串值连接(逐行)到一个数组中并传递; 3)使用一个或多个字符串(对应于parse_dates定义的列)作为参数,为每一行调用date_parser一次。

dayfirst:boolean,默认为False

DD / MM格式日期,国际和欧洲格式

iterator:boolean,默认为False

返回TextFileReader对象以进行迭代或获取块 get_chunk()。

chunksize:int,默认无

返回TextFileReader对象以进行迭代。有关和的 更多信息,请参阅IO Tools文档。iteratorchunksize

compression :{‘infer’,‘gzip’,‘bz2’,‘zip’,‘xz’,无},默认’推断’

用于磁盘上数据的即时解压缩。如果’infer’和 filepath_or_buffer是类似路径的,则从以下扩展中检测压缩:’。gz’,’。bz2’,’。zip’或’.xz’(否则无解压缩)。如果使用’zip’,则ZIP文件必须只包含一个要读入的数据文件。设置为None表示不进行解压缩。

版本0.18.1中的新功能:支持’zip’和’xz’压缩。

thousands :str,默认无

千位分隔符

decimal:str,默认’。’

要识别为小数点的字符(例如,对欧洲数据使用​​’,’)。

float_precision:string,默认无

指定C引擎应该将哪个转换器用于浮点值。选项有没有对于普通转换器, 高的高精度转换器,以及round_trip用于往返转换器。

lineterminator:str(长度为1),默认为None

将文件分成行的字符。仅对C解析器有效。

quotechar:str(长度为1),可选

用于表示引用项目的开头和结尾的字符。引用的项目可以包括分隔符,它将被忽略。

quoting :int或csv.QUOTE_ *实例,默认为0

控制字段引用每个csv.QUOTE_*常量的行为。使用QUOTE_MINIMAL(0),QUOTE_ALL(1),QUOTE_NONNUMERIC(2)或QUOTE_NONE(3)之一。

doublequote:布尔值,默认值True

如果指定了quotechar且未引用QUOTE_NONE,则指示是否将字段中的两个连续的quotechar元素解释为单个quotechar元素。

escapechar:str(长度为1),默认为None

引用时用于转义分隔符的单字符字符串是QUOTE_NONE。

comment:str,默认无

表示不应解析行的剩余部分。如果在行的开头找到,则该行将被完全忽略。此参数必须是单个字符。与空行(只要skip_blank_lines=True)一样,参数标题会忽略完全注释的行,但不会被 跳过。例如,如果comment=’#’,解析 #empty\na,b,c\n1,2,3与header=0将导致“A,B,C”被视为标题。

encoding:str,默认无

编码以在读/写时用于UTF(例如’utf-8’)。Python标准编码列表

dialect:str或csv.Dialect实例,默认为None

如果提供的话,该参数将覆盖为以下参数的值(默认或不):分隔符,双引号,escapechar, skipinitialspace,quotechar,和引用。如果需要覆盖值,则会发出ParserWarning。有关更多详细信息,请参阅csv.Dialect文档。

tupleize_cols:boolean,默认为False

自版本0.21.0后不推荐使用:此参数将被删除,并始终转换为MultiIndex
按原样在列上保留元组列表(默认是在列上转换为MultiIndex)

error_bad_lines:布尔值,默认为True

具有太多字段的行(例如,具有太多逗号的csv行)将默认导致引发异常,并且不会返回任何DataFrame。如果为False,那么这些“坏行”将从返回的DataFrame中删除。

warn_bad_lines:布尔值,默认为True

如果error_bad_lines为False,并且warn_bad_lines为True,则将输出每个“坏行”的警告。

low_memory:布尔值,默认为True

以块的形式内部处理文件,导致在解析时使用较少的内存,但可能是混合类型推断。要确保没有混合类型,请设置False,或使用dtype参数指定类型。请注意,整个文件都被读入单个DataFrame中,使用chunksize或iterator参数以块的形式返回数据。(仅对C解析器有效)

memory_map:boolean,默认为False

如果为filepath_or_buffer提供了文件路径,则将文件对象直接映射到内存并直接从那里访问数据。使用此选项可以提高性能,因为不再有任何I / O开销。

返回:
结果 : DataFrame或TextParser

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值