重新索引2024 年 8 月 29 日 | 4 分钟阅读 Pandas 重新索引的主要任务是根据新的索引调整 DataFrame,并具有可选的填充逻辑,并在前一个索引中不存在值的位置放置 NA/NaN。它返回一个新对象,除非新索引被生成为与当前索引等效,并且copy的值变为False。 重新索引用于更改 DataFrame 的行和列的索引。我们可以使用 reindex() 方法重新索引单个或多个行。新索引中的默认值如果不在 DataFrame 中,则分配为 NaN。 语法参数labels: 这是一个可选参数,指的是新的标签或索引,以符合“axis”指定的轴。 index,columns: 这也是一个可选参数,指的是新的标签或索引。它通常更喜欢索引对象以避免重复数据。 axis: 也是一个可选参数,用于定位轴,可以是轴名称或数字。 method: 也是一个可选参数,用于填充重新索引的 DataFrame 中的空洞。它只能应用于具有单调递增/递减顺序的 DataFrame 或 Series。 None: 这是默认值,不填充间隙。 pad / ffill: 它用于将最后一个有效观测值向前传播到下一个有效观测值。 backfill / bfill: 为了填补空白,它使用下一个有效观测值。 nearest: 为了填补空白,它使用下一个有效观测值。 copy: 其默认值为 True,并返回一个新对象作为布尔值,即使传递的索引相同。 level: 它用于跨级别广播,并在传递的 MultiIndex 级别上匹配索引值。 fill_value: 它的默认值为 np.NaN,用于填充现有的缺失(NaN)值。它需要任何新元素才能成功进行 DataFrame 对齐,并在计算前使用该值。 limit: 它定义了要向前或向后填充的连续元素的最大数量。 tolerance: 这也是一个可选参数,用于确定原始标签和新标签之间用于不精确匹配的最大距离。在匹配位置,索引的值应该最符合等式 abs(index[indexer] ? target) <= tolerance。 返回值它返回重新索引的 DataFrame。 示例 1下面的示例显示了 reindex() 函数的工作原理,用于重新索引数据帧。在新索引中,默认值被分配为 NaN,在新索引中,数据帧中没有相应的记录。 注意:我们可以使用 fill_value 来填充缺失值。输出 A B D E Parker NaN NaN NaN NaN William NaN NaN NaN NaN Smith NaN NaN NaN NaN Terry NaN NaN NaN NaN Phill NaN NaN NaN NaN 现在,我们可以使用 dataframe.reindex() 函数重新索引数据帧。 输出 P Q R S A NaN NaN NaN NaN B NaN NaN NaN NaN C NaN NaN NaN NaN D NaN NaN NaN NaN E NaN NaN NaN NaN 请注意,新索引填充了 NaN 值。我们可以使用 fill_value 参数填充缺失值。 输出 P Q R S A 100 100 100 100 B 100 100 100 100 C 100 100 100 100 D 100 100 100 100 E 100 100 100 100 示例 2 此示例显示了 reindex() 函数重新索引列轴的工作原理。 输出 A B D E Parker NaN NaN NaN NaN William NaN NaN NaN NaN Smith NaN NaN NaN NaN Terry NaN NaN NaN NaN Phill NaN NaN NaN NaN 请注意,重新索引后新列中存在 NaN 值,我们可以使用函数的参数 fill_value 来删除 NaN 值。 输出 A B D E Parker 37 37 37 37 William 37 37 37 37 Smith 37 37 37 37 Terry 37 37 37 37 Phill 37 37 37 37 下一主题重置索引 |
我们请求您订阅我们的新闻通讯以获取最新更新。