zoukankan      html  css  js  c++  java
  • pandas的函数应用一

    pandas的函数应用

     
    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame(np.modf(np.random.randn(5,4)*100)[1].astype('int32'),columns=list('ABCD'))
    df
    
     
      A B C D
    0 -58 7 105 -83
    1 -191 34 -98 -270
    2 10 59 -98 -210
    3 89 -54 23 -146
    4 -17 52 -153 95
     

    1、可直接使用NumPy的函数(求绝对值 abs)

     
    df1 = np.abs(df)
    df1
    
      A B C D
    0 58 7 105 83
    1 191 34 98 270
    2 10 59 98 210
    3 89 54 23 146
    4 17 52 153 95
     
    df2 = np.sum(df1)
    df2
    
    A    365
    B    206
    C    477
    D    804
    dtype: int64
     

    2、通过apply将函数应用到列或行上

    注意轴的方向,默认axis=0.按列,
     
    f = lambda x: x.max()
    df1.apply(f)
    
    A    191
    B     59
    C    153
    D    270
    dtype: int32
     
    df1.apply(f,axis=1) # 按行进行对比求最大值
    
    0    105
    1    270
    2    210
    3    146
    4    153
    dtype: int32
     

    3、通对每个数值计算用applymap

     
    f2 = lambda x:x+100
    df1.applymap(f2)
    
      A B C D
    0 158 107 205 183
    1 291 134 198 370
    2 110 159 198 310
    3 189 154 123 246
    4 117 152 253 195
    志同道合一起学习,欢迎加入QQ群:878749917
  • 相关阅读:
    游戏与必胜策略
    中国剩余定理
    中国剩余定理
    欧几里得和扩展欧几里得
    欧几里得和扩展欧几里得
    51nod 1028 大数乘法 V2
    51nod 1028 大数乘法 V2
    51nod 1029 大数除法
    51nod 1029 大数除法
    51nod 1166 大数开平方
  • 原文地址:https://www.cnblogs.com/gujianjian/p/15325345.html
Copyright © 2011-2022 走看看