• 技术文章 >Python技术 >Python基础教程

    Python中pandas函数应用!

     Ly Ly2020-06-20 16:47:12转载2292

    Pandas 可直接使用 NumPy 的 ufunc(元素级数组方法) 函数:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    >>> import pandas as pd

    >>> import numpy as np

    >>> obj = pd.DataFrame(np.random.randn(5,4) - 1)

    >>> obj

              0         1         2         3

    0 -0.228107  1.377709 -1.096528 -2.051001

    1 -2.477144 -0.500013 -0.040695 -0.267452

    2 -0.485999 -1.232930 -0.390701 -1.947984

    3 -0.839161 -0.702802 -1.756359 -1.873149

    4  0.853121 -1.540105  0.621614 -0.583360

    >>>

    >>> np.abs(obj)

              0         1         2         3

    0  0.228107  1.377709  1.096528  2.051001

    1  2.477144  0.500013  0.040695  0.267452

    2  0.485999  1.232930  0.390701  1.947984

    3  0.839161  0.702802  1.756359  1.873149

    4  0.853121  1.540105  0.621614  0.583360

    函数映射:在 Pandas 中 apply 方法可以将函数应用到列或行上,可以通过设置 axis 参数来指定行或列,默认 axis = 0,即按列映射:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    >>> import pandas as pd

    >>> import numpy as np

    >>> obj = pd.DataFrame(np.random.randn(5,4) - 1)

    >>> obj

              0         1         2         3

    0 -0.707028 -0.755552 -2.196480 -0.529676

    1 -0.772668  0.127485 -2.015699 -0.283654

    2  0.248200 -1.940189 -1.068028 -1.751737

    3 -0.872904 -0.465371 -1.327951 -2.883160

    4 -0.092664  0.258351 -1.010747 -2.313039

    >>>

    >>> obj.apply(lambda x : x.max())

    0    0.248200

    1    0.258351

    2   -1.010747

    3   -0.283654

    dtype: float64

    >>>

    >>> obj.apply(lambda x : x.max(), axis=1)

    0   -0.529676

    1    0.127485

    2    0.248200

    3   -0.465371

    4    0.258351

    dtype: float64

    另外还可以通过 applymap 将函数映射到每个数据上:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    >>> import pandas as pd

    >>> import numpy as np

    >>> obj = pd.DataFrame(np.random.randn(5,4) - 1)

    >>> obj

              0         1         2         3

    0 -0.772463 -1.597008 -3.196100 -1.948486

    1 -1.765108 -1.646421 -0.687175 -0.401782

    2  0.275699 -3.115184 -1.429063 -1.075610

    3 -0.251734 -0.448399 -3.077677 -0.294674

    4 -1.495896 -1.689729 -0.560376 -1.808794

    >>>

    >>> obj.applymap(lambda x : '%.2f' % x)

           0      1      2      3

    0  -0.77  -1.60  -3.20  -1.95

    1  -1.77  -1.65  -0.69  -0.40

    2   0.28  -3.12  -1.43  -1.08

    3  -0.25  -0.45  -3.08  -0.29

    4  -1.50  -1.69  -0.56  -1.81

    Python更多知识,请关注Python视频教程!!

    专题推荐:python
    上一篇:Python中的五颜六色的饼状图!(二) 下一篇:Python中pandas的层级索引!

    相关文章推荐

    • Python数据分析 | pandas汇总和计算描述统计• python中的pandas是什么• python如何导入pandas

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网