Python之Pandas:merge()函数、set_index()函数、drop_duplicates()函数和tolist()函数详解

作者:JC2024.01.17 11:14浏览量:8

简介:本文将详细介绍Pandas库中的merge()函数、set_index()函数、drop_duplicates()函数和tolist()函数的用法和注意事项,并通过实例演示这些函数在实际数据分析中的应用。

千帆应用开发平台“智能体Pro”全新上线 限时免费体验

面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用

立即体验

在Python的数据分析库Pandas中,merge()、set_index()、drop_duplicates()和tolist()等函数是常用的数据处理工具。这些函数能帮助我们高效地处理数据,提取所需信息,并进行数据的清洗和整理。下面我们将逐一介绍这些函数的用法和注意事项。
一、merge()函数
merge()函数用于根据指定的键将两个DataFrame进行合并。它返回一个新的DataFrame,其中包含来自两个输入的列。
语法:
result = merge(left, right, on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, how=’inner’, suffixes=(‘_x’, ‘_y’), copy=True, indicator=False, allow_exact_matches=True, tolerance=None, na_filter=True, verify_integrity=False)
参数说明:

  • left:要合并的左侧DataFrame。
  • right:要合并的右侧DataFrame。
  • on:用于合并的键名,默认为None。如果为None,则根据left_on和right_on参数进行合并。
  • left_on:左侧DataFrame的键名,默认为None。
  • right_on:右侧DataFrame的键名,默认为None。
  • left_index:是否将左侧DataFrame的索引作为合并结果的一个列,默认为False。
  • right_index:是否将右侧DataFrame的索引作为合并结果的一个列,默认为False。
  • sort:是否对合并结果进行排序,默认为True。
  • how:合并方式,默认为’inner’,可选值为’left’、’right’、’outer’。
  • suffixes:用于区分重复列名的后缀,默认为(‘_x’, ‘_y’)。
  • copy:是否创建新的DataFrame对象,默认为True。
  • indicator:是否在合并结果中添加一个指示列,默认为False。
  • allow_exact_matches:是否允许精确匹配,默认为True。
  • tolerance:用于判断近似匹配的容忍度,默认为None。
  • na_filter:是否过滤NaN值,默认为True。
  • verify_integrity:是否检查合并结果是否满足完整性约束,默认为False。
    示例:
    假设我们有两个DataFrame df1和df2,我们想要根据’key’列将它们合并为一个新的DataFrame。
    df1 = pd.DataFrame({‘key’: [‘A’, ‘B’, ‘C’], ‘value1’: [1, 2, 3]})
    df2 = pd.DataFrame({‘key’: [‘B’, ‘C’, ‘D’], ‘value2’: [4, 5, 6]})
    df = pd.merge(df1, df2, on=’key’)
    df
    输出结果为:
    key value1 value2
    0 B 2 4
    1 C 3 5
    2 D NaN 6
    二、set_index()函数
    set_index()函数用于将指定的列设置为DataFrame的索引。这有助于提高数据查询和处理的效率。
    语法:
    df.set_index(keys, drop=True, append=False, inplace=False)
    参数说明:
  • keys:要设置为索引的列名或列名列表。
  • drop:是否在设置索引后删除原列,默认为True。如果为False,则原列将保留在DataFrame中。
  • append:是否将指定的列追加到现有索引中,默认为False。如果为True,则将指定的列添加到现有索引中。
  • inplace:是否在原始DataFrame上进行修改,默认为False。如果为True,则直接修改原始DataFrame对象。
    示例:
    假设我们有一个DataFrame df,我们想要将’key’列设置为索引。
    df = pd.DataFrame({‘key’: [‘A’, ‘B’, ‘C’], ‘value’: [10, 20, 30]})
    df.set_index(‘key’)
    df
    输出结果为:
article bottom image

相关文章推荐

发表评论