美文网首页
pandas库学习(七) 算术和数据对齐

pandas库学习(七) 算术和数据对齐

作者: 3ni | 来源:发表于2018-11-04 15:38 被阅读0次

pandas在具有不同索引的对象间进行算术运算时,如果有任何的索引对不相同的话,在结果中将会把各自的索引联合起来,缺失的会被填充为NaN(可以修改)。
比如:
df1 = DataFrame(np.arange(9.).reshape((3,3)),columns=list('bcd'),index=['Ohio','Texas','Colorado'])

            b    c    d
Ohio      0.0  1.0  2.0
Texas     3.0  4.0  5.0
Colorado  6.0  7.0  8.0

df2 = DataFrame(np.arange(12.).reshape((4,3)),columns=list('bde'),index=['Utah','Ohio','Texas','Oregon'])

          b     d     e
Utah    0.0   1.0   2.0
Ohio    3.0   4.0   5.0
Texas   6.0   7.0   8.0
Oregon  9.0  10.0  11.0

df1+df2

            b   c     d   e
Colorado  NaN NaN   NaN NaN
Ohio      3.0 NaN   6.0 NaN
Oregon    NaN NaN   NaN NaN
Texas     9.0 NaN  12.0 NaN
Utah      NaN NaN   NaN NaN

上面结果只有在df1和df2中都有的才会有值,其它均被填充为NaN
df1.add(df2,fill_value=0)

            b    c     d     e
Colorado  6.0  7.0   8.0   NaN
Ohio      3.0  1.0   6.0   5.0
Oregon    9.0  NaN  10.0  11.0
Texas     9.0  4.0  12.0   8.0
Utah      0.0  NaN   1.0   2.0

这里为什么还是会有NaN,因为仔细看在df1中的Colorado,它只有bcd三列,但是没有e列,所以仍会被填充为NaN,如果在df1中也有e列,那么就不会是NaN
除了加法还有减法,乘法,除法
add 加法(+)
sub 减法(-)
div 除法(/)
mul 乘法(*)

然后看下面一个减法操作:
arr = np.arange(12.).reshape((3,4))

array([[ 0.,  1.,  2.,  3.],
       [ 4.,  5.,  6.,  7.],
       [ 8.,  9., 10., 11.]])

arr - arr[0]

array([[0., 0., 0., 0.],
       [4., 4., 4., 4.],
       [8., 8., 8., 8.]])

仔细看结果,结果是arr用每一行都减去arr[0],可以把这个看成一个二维的矩阵减去一维的数组,然后抽象出来就是高维减去低维的操作,低维会在高维中传播(一个个减),这样的现象就是广播
你用DataFrame对象去减Series对象也会出现这样的情况

相关文章

  • pandas库学习(七) 算术和数据对齐

    pandas在具有不同索引的对象间进行算术运算时,如果有任何的索引对不相同的话,在结果中将会把各自的索引联合起来,...

  • Pandas(算术运算和数据对齐)

    可以对不同索引的对象进行算术运算 对于DataFrame,对齐操作会同时发生在行和列上 在算术方法中填充值 当一个...

  • Pandas入门2

    标题中的英文首字母大写比较规范,但在python实际使用中均为小写。 5.Pandas的数据运算和算术对齐 5.1...

  • Pandas库的学习

    Pandas库学习 1.pandas库的两个数据类型Series(一维数据)和DataFrame(二,三维数据)对...

  • pandas数据分析库3~4

    8.3算术运算和对齐 目的:通过学习算术运算和对齐来掌握nan缺失值处理、DataFrame与Series的运算与...

  • pandas 使用

    1. Series 使用 2. pandas:索引 pandas:数据对齐,相加 3. pandas:DataF...

  • 使用Python进行数据标准化

    读取数据 首先,加载pandas和numpy库,读取数据。 import pandas as pd i...

  • 使用Python进行数据标准化

    读取数据 首先,加载pandas和numpy库,读取数据。 import pandas as pd i...

  • 算术和数据对齐

    没有交叉值时为 NaN 使用填充值的算术方法 灵活算术方法 DataFrame 和 Series 间的操作 广播机...

  • 116、pandas基本功能2

    3、索引、选取和过滤 4、算术运算和数据对齐 由上面可以看到,自动的数据对齐操作在不重叠的索引处引入NA值。 从上...

网友评论

      本文标题:pandas库学习(七) 算术和数据对齐

      本文链接:https://www.haomeiwen.com/subject/xzgrxqtx.html