关键词

pandas.read_csv参数详解(小结)

下面是对于“pandas.read_csv参数详解(小结)” 的详细攻略:

pandas.read_csv参数详解

基本参数

pandas.read_csv(file_path: str, delimiter: str, header: Union[int, List[int]], names: Optional[List[str]], index_col: Optional[Union[int, List[int], str, List[str]]], usecols: Optional[Union[List[int], List[str]]], dtype: Union[Type[Dict[str, Any]], Type[List[Type[Any]]], NoneType], skiprows: Optional[Union[int, List[int], Callable[[int], bool]]], skipfooter: int = 0, nrows: Optional[int], na_values: Optional[Union[List[str], List[int], Dict[str, List[str]]]], keep_default_na: bool = True, comment: Optional[str], encoding: Optional[str] = None, compression: Optional[str] = None, thousands: Optional[str] = None, decimal: Optional[str] = '.', chunksize: Optional[int] = None, dayfirst: bool = False, date_parser: Optional[Callable[[str], datetime]], infer_datetime_format: bool = False, true_values: Optional[List[Any]] = None, false_values: Optional[List[Any]] = None, quotechar: str = '"', quoting: Union[int, str] = 0, escapechar: Optional[str] = None, nrows: Optional[int] = None)

  • file_path: 文件路径或URL,必需参数。
  • delimiter: 分隔符,常用的有','、'\t'等,默认为','。
  • header: 是否将某行设为表头,可以设置行号或者行号列表,如果不需要表头则直接设置为None。
  • names: 列名列表,如果文件本身不包含列名,则需要手动设置列名,和header=0或header=None同时使用。
  • index_col: 指定索引列,可以是整数、单个列名或列名列表,也可以为空表示不使用索引列。
  • usecols: 需要读取的列的列表,可以是列号、列名或者两者混合的序列,格式如['列1', '列2', ...]或[0, 1, 2, ...]
  • dtype: 定义列的数据类型,可以是Python类型、NumPy类型或者Python字典。
  • skiprows: 需要跳过的行号列表、函数或数值。比如跳过前10行,可以设置为10;跳过第一行和第三行,可以设置为[0, 2];跳过所有值为0的行,可以设置为lambda x: x==0
  • skipfooter: 文件末尾需要跳过的行数,默认为0,常用于去除底部的注释行、空行等。
  • nrows: 读取文件的前几行,默认为读取全部行。
  • na_values: 设定数据中的若干字符表示缺失值。例如,设定na_values=['-', 'nan', 'N/A'],即当读取数据时遇到‘-’、‘nan’、‘N/A’字符时,都视为缺失值。
  • keep_default_na: 忽略默认的缺失值标记(如‘N/A’、‘NA’等),只当na_values参数中的缺失标记被匹配时才认为数据缺失。
  • comment: 注释行开始字符,即遇到该字符,该行以及之后的内容都会被忽略。
  • encoding: 指定编码格式,如utf-8、gbk等。
  • compression: 文件压缩方式,一般为gzip、bz2、xz、zip或者None。
  • thousands: 千分位分隔符,如‘,’或‘.’等。
  • decimal: 小数点分隔符,如‘.’或‘,’等。
  • chunksize: 分块大小,适用于大文件的读取,每次读取指定大小的数据量,避免内存占用过大。
  • dayfirst: 如果日期格式为 ‘ DD/MM/YYYY ’ 或 ‘ MM/DD/YYYY ’,则将其设置为True,表示日出现在月的前面。默认为False。
  • date_parser: 用于解析日期的函数,默认情况下使用pandas内置的date_parser函数。
  • infer_datetime_format: 如果为True,则在尝试解析日期时,使用更快的方法。
  • true_values: 自定义True值,如果发现文件中有其他值被用作True值,可以使用这个参数进行指定。
  • false_values: 自定义False值,如果发现文件中有其他值被用作False值,可以使用这个参数进行指定。
  • quotechar: 字段引用字符,如‘"’或‘’等。
  • quoting: 表示引号的常量,可以设置为csv.QUOTE_ALL、csv.QUOTE_MINIMAL、csv.QUOTE_NONNUMERIC或csv.QUOTE_NONE。默认为csv.QUOTE_MINIMAL。
  • escapechar: 字段中如果包含quotechar则用该字符进行逃逸

示例说明

下面是使用pandas.read_csv的两个示例:

示例1

import pandas as pd

df = pd.read_csv('data.csv', encoding='utf-8', delimiter=';')
print(df.head())

这个示例中,我们通过read_csv函数读取了一个分号分隔符的文件data.csv,同时指定了编码为utf-8。使用head方法打印了前几行的数据,结果如下:

  Name  Age  Gender
0  Bob   23    Male
1  Amy   29  Female
2  Sam   32    Male
3  Zoe   27  Female

示例2

import pandas as pd

df = pd.read_csv('data.csv', header=None, names=['name', 'age', 'gender'])
print(df.head())

这个示例中,我们通过read_csv函数读取了一个没有表头的文件data.csv,并手动设置了列名。使用head方法打印了前几行的数据,结果如下:

   name  age  gender
0   Bob   23    Male
1   Amy   29  Female
2   Sam   32    Male
3   Zoe   27  Female

本文链接:http://task.lmcjl.com/news/17342.html

展开阅读全文