写点什么

python 数据分析 -pandas 基础 3- 数据对齐

作者:AIWeker
  • 2022-11-26
    福建
  • 本文字数:526 字

    阅读完需:约 2 分钟

python数据分析-pandas基础3-数据对齐

1. pandas 数据对齐

索引是 pandas 两个重要数据结构 Series 和 DataFrame 的重要组成部分,默认的索引是以 0 开始序列,也可以自定义数据。


因为有索引的存在,Series 和 DataFrame 在进行数据操作的时候,会自动进行数据对齐。


我们来看一个例子:


import pandas as pds1 = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])s2 = pd.Series([1, 2, 3, 4], index=['e', 'b', 'c', 'd'])
s3 = s1 + s2
# a NaN# b 4.0# c 6.0# d 8.0# e NaN# dtype: float64
复制代码


从上面可知,s1 和 s2 具有不同的索引,s1 + s2 并不是 Series 中的数据按序相加,而是自动按照索引进行对齐,有时候我们可以利用这个特性进行数据处理,有时候需要注意这种特性会产生和预期不同的结果。


如果我们需要对 s1 和 s2 按序相加要怎么办? 这个时候需要对索引进行重置成默认序列索引,在进行相加。


s1.reset_index(drop=True) + s2.reset_index(drop=True)
# 0 2# 1 4# 2 6# 3 8# dtype: int64
复制代码


上面可知,通过reset_index将索引重置到 0 到 3, 相加就是按序相加。


reset_index 默认会将索引作为新的一列增加到数据中, 如果你不需要索引可以指定drop=True


s1.reset_index()#   index  0# 0  a  1# 1  b  2# 2  c  3# 3  d  4
复制代码


希望对你有帮助。

发布于: 刚刚阅读数: 4
用户头像

AIWeker

关注

InfoQ签约作者 / 公众号:人工智能微客 2019-11-21 加入

人工智能微客(aiweker)长期跟踪和分享人工智能前沿技术、应用、领域知识,不定期的发布相关产品和应用,欢迎关注和转发

评论

发布
暂无评论
python数据分析-pandas基础3-数据对齐_Python_AIWeker_InfoQ写作社区