python之pandas中的函数及参数

Python之Pandas

1. 核心数据结构参数

DataFrame 参数

pd.DataFrame(
    data=None,        # 输入数据:可以是ndarray(二维数组,按列输入)、字典(键作为列名,值作为列数据)、列表、Series或另一个DataFrame
    index=None,       # 行索引标签,如果不指定则自动生成RangeIndex
    columns=None,     # 列索引标签,如果不指定则自动生成RangeIndex
    dtype=None,       # 强制使用指定的数据类型,【dtype='float32'强制所有列为float32】,【也可用字典指定各列类型:dtype={'col1':'int', 'col2':'float'}】
    copy=False        # 是否复制输入数据,默认False:尽可能使用视图(view)节省内存,True:创建数据的独立副本
)

Series 参数

pd.Series(
    data=None,        # 输入数据:数组、字典或标量值
    index=None,       # 索引标签
    dtype=None,       # 数据类型
    name=None,        # Series的名称,会显示在输出中
    copy=False        # 是否复制输入数据
)

2. 数据读取/写入参数

read_csv 参数详解

pd.read_csv(
    filepath_or_buffer,  # 文件路径或文件对象
    sep=',',            # 分隔符,默认为逗号
    delimiter=None,     # 同sep,分隔符的别名
    header='infer',     # 指定行号作为列名(默认0),None表示没有列名
    names=None,         # 自定义列名列表
    index_col=None,     # 用作行索引的列号或列名
    usecols=None,       # 只读取指定列(列名列表或列索引列表)
    dtype=None,         # 指定列的数据类型{列名: 类型}字典
    na_values=None,     # 识别为NA/NaN的值列表
    skiprows=None,      # 要跳过的行号(从0开始)或行数
    nrows=None,         # 要读取的行数(用于测试大文件)
    encoding=None,      # 文件编码(如'utf-8')
    parse_dates=False,  # 尝试解析日期(列名列表或True)
    thousands=None,     # 千分位分隔符(如',')
    decimal='.',        # 小数点字符
    comment=None,       # 注释标识符(如'#'表示跳过#开头的行)
    skip_blank_lines=True,  # 是否跳过空行
    # ... 更多参数
)

to_csv 参数详解

df.to_csv(
    path_or_buf=None,   # 文件路径或文件对象,None则返回字符串
    sep=',',           # 分隔符
    na_rep='',         # 缺失值表示字符串
    float_format=None, # 浮点数格式字符串(如'%.2f')
    columns=None,      # 要写入的列列表
    header=True,       # 是否写入列名
    index=True,        # 是否写入行索引
    encoding=None,     # 编码格式
    mode='w',         # 写入模式('w'写/'a'追加)
    compression='infer',  # 压缩方式('gzip', 'bz2', 'zip', 'xz')
    quoting=None,      # 引用规则(0-最小引用,1-全部引用等)
    quotechar='"',     # 引用字符
    line_terminator='\n',  # 行结束符
    chunksize=None,    # 分块写入的行数
    date_format=None,  # 日期格式字符串
    # ... 更多参数
)

3. 数据查看方法参数

describe 参数详解

df.describe(
    percentiles=None,  # 要包含的百分位数(如[.25, .5, .75])
    include=None,      # 包含的数据类型(如'all', 'number', 'object')
    exclude=None,      # 排除的数据类型
    datetime_is_numeric=False  # 是否将datetime视为数值
)

info 参数详解

df.info(
    verbose=None,      # 是否显示完整信息(True/False)
    memory_usage=None, # 是否显示内存使用情况
    show_counts=None,  # 是否显示非空值计数
    null_counts=None   # 已弃用,用show_counts代替
)

4. 数据选择方法参数

loc/iloc 参数详解

df.loc[  # 基于标签的选择
    row_selection,    # 行选择(单个标签、列表、切片或布尔数组)
    column_selection  # 列选择(同上)
]

df.iloc[  # 基于整数位置的选择
    row_index,       # 行索引(整数、列表、切片或布尔数组)
    column_index     # 列索引(同上)
]

at/iat 参数详解

df.at[row_label, column_label]  # 快速访问单个值(标签)
df.iat[row_index, column_index]  # 快速访问单个值(位置)

5. 数据处理方法参数

drop 参数详解

df.drop(
    labels=None,      # 要删除的标签或标签列表
    axis=0,          # 0/'index'删除行,1/'columns'删除列
    index=None,      # 要删除的行标签(替代labels+axis=0)
    columns=None,    # 要删除的列标签(替代labels+axis=1)
    level=None,      # 多级索引的级别
    inplace=False,   # 是否原地修改(True直接修改df)
    errors='raise'   # 'ignore'忽略不存在的标签
)

fillna 参数详解

df.fillna(
    value=None,      # 填充值(标量、字典、Series或DataFrame)
    method=None,     # 填充方法('backfill', 'bfill', 'pad', 'ffill')
    axis=None,      # 填充方向(0/'index', 1/'columns')
    inplace=False,  # 是否原地修改
    limit=None,     # 最大填充连续NaN数量
    downcast=None   # 向下转换数据类型
)

6. 合并与连接参数

merge 参数详解

pd.merge(
    left,           # 左侧DataFrame
    right,          # 右侧DataFrame
    how='inner',    # 连接方式('inner', 'outer', 'left', 'right')
    on=None,        # 连接的列名(两表共有)
    left_on=None,   # 左侧连接键
    right_on=None,  # 右侧连接键
    left_index=False,  # 使用左侧索引作为连接键
    right_index=False, # 使用右侧索引作为连接键
    sort=False,     # 按连接键排序结果
    suffixes=('_x', '_y'),  # 重复列后缀
    copy=True,      # 是否复制数据
    indicator=False,  # 添加合并来源列
    validate=None   # 验证连接类型('one_to_one', 'one_to_many'等)
)

concat 参数详解

pd.concat(
    objs,           # 要连接的DataFrame或Series序列
    axis=0,        # 连接方向(0/'index'纵向,1/'columns'横向)
    join='outer',   # 连接方式('inner'/'outer')
    ignore_index=False,  # 是否忽略原索引
    keys=None,      # 创建多级索引的键
    levels=None,    # 多级索引的级别
    names=None,     # 多级索引的名称
    verify_integrity=False,  # 检查索引是否重复
    sort=False,     # 排序非连接轴
    copy=True       # 是否复制数据
)

7. 分组聚合参数

groupby 参数详解

df.groupby(
    by=None,        # 分组依据(列名、列表、字典、Series或函数)
    axis=0,        # 分组方向(0/'index',1/'columns')
    level=None,    # 多级索引的级别
    as_index=True,  # 分组键是否作为索引
    sort=True,     # 是否排序分组键
    group_keys=True,  # 调用apply时是否添加分组键
    observed=False,  # 只显示观察到的分类值
    dropna=True    # 是否删除NA分组
)

agg 参数详解

df.agg(
    func=None,      # 聚合函数(字符串、函数、列表或字典)
    axis=0,        # 应用方向(0/'index',1/'columns')
    *args,         # 传递给函数的参数
    **kwargs       # 传递给函数的关键字参数
)

8. 时间序列处理参数

to_datetime 参数详解

pd.to_datetime(
    arg,            # 要转换的数据(标量、数组、Series或DataFrame)
    errors='raise',  # 错误处理('raise', 'coerce', 'ignore')
    dayfirst=False,  # 是否优先解析日为第一个数字
    yearfirst=False, # 是否优先解析年为第一个数字
    utc=None,      # 是否转换为UTC
    format=None,   # 格式字符串(如'%Y-%m-%d')
    exact=True,    # 是否要求格式完全匹配
    unit=None,     # 时间单位(如's'秒,'ms'毫秒)
    infer_datetime_format=False,  # 是否推断格式
    origin='unix',  # 定义参考日期
    cache=True     # 是否缓存转换结果
)

date_range 参数详解

pd.date_range(
    start=None,     # 开始日期(字符串或datetime-like)
    end=None,      # 结束日期
    periods=None,  # 要生成的周期数
    freq=None,     # 频率字符串(如'D'天,'H'小时)
    tz=None,       # 时区字符串或tzinfo对象
    normalize=False,  # 是否将时间标准化到午夜
    name=None,     # 结果索引的名称
    closed=None,   # 区间闭合方式('left', 'right')
    **kwargs       # 其他频率参数
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值