Python数据分析与展示:pandas算术和比较运算-11

简介: Python数据分析与展示:pandas算术和比较运算-11

术运算法则

算术运算根据行列索引,补齐后运算,

运算默认产生浮点数 补齐时缺项填充NaN(空值)

二维和一维、一维和零维间为广播运算

采用+ ‐* /符号进行的二元运算产生新的对象


方法形式的运算

image.png

比较运算法则

比较运算只能比较相同索引的元素,不进行补齐

二维和一维、一维和零维间为广播运算

采用> < >= <= == !=等符号进行的二元运算产生布尔对象


pandas小结

Series = 索引+ 一维数据

DataFrame= 行列索引+ 二维数据


重新索引、数据删除、算术运算、比较运算


像对待单一数据一样对待Series和DataFrame对象

# -*- coding: utf-8 -*-
# @File    : pandas_demo.py
# @Date    : 2018-05-20
# pandas数据类型的算术运算
import pandas as pd
import numpy as np
# 数据准备
a = pd.DataFrame(np.arange(12).reshape(3, 4))
print(a)
"""
   0  1   2   3
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11
"""
b = pd.DataFrame(np.arange(20).reshape(4, 5))
print(b)
"""
    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
3  15  16  17  18  19
"""
# 算术运算
# 自动补齐,缺项补NaN
c = a + b
print(c)
"""
      0     1     2     3   4
0   0.0   2.0   4.0   6.0 NaN
1   9.0  11.0  13.0  15.0 NaN
2  18.0  20.0  22.0  24.0 NaN
3   NaN   NaN   NaN   NaN NaN
"""
d = a * b
print(d)
"""
      0     1      2      3   4
0   0.0   1.0    4.0    9.0 NaN
1  20.0  30.0   42.0   56.0 NaN
2  80.0  99.0  120.0  143.0 NaN
3   NaN   NaN    NaN    NaN NaN
"""
# fill_value参数替代NaN,替代后参与运算
e = a.add(b, fill_value=10)
print(e)
"""
      0     1     2     3     4
0   0.0   2.0   4.0   6.0  14.0
1   9.0  11.0  13.0  15.0  19.0
2  18.0  20.0  22.0  24.0  24.0
3  25.0  26.0  27.0  28.0  29.0
"""
f = a.mul(b, fill_value=10)
print(f)
"""
       0      1      2      3      4
0    0.0    1.0    4.0    9.0   40.0
1   20.0   30.0   42.0   56.0   90.0
2   80.0   99.0  120.0  143.0  140.0
3  150.0  160.0  170.0  180.0  190.0
"""
# 不同维度间为广播运算,一维Series默认在轴1参与运算
s = pd.Series(np.arange(10, 15, 1))
print(s)
"""
0    10
1    11
2    12
3    13
4    14
dtype: int32
"""
s1 = s -10
print(s1)
"""
0    0
1    1
2    2
3    3
4    4
dtype: int32
"""
b2 = b - s
print(b2)
"""
    0   1   2   3   4
0 -10 -10 -10 -10 -10
1  -5  -5  -5  -5  -5
2   0   0   0   0   0
3   5   5   5   5   5
"""
# 使用运算方法可以令一维Series参与轴0运算
s = pd.Series(np.arange(4))
print(s)
"""
0    0
1    1
2    2
3    3
dtype: int32
"""
b3 = b.sub(s, axis=0)
print(b3)
"""
    0   1   2   3   4
0   0   1   2   3   4
1   4   5   6   7   8
2   8   9  10  11  12
3  12  13  14  15  16
"""
# 比较运算
a = pd.DataFrame(np.arange(12).reshape(3, 4))
print(a)
"""
   0  1   2   3
0  0  1   2   3
1  4  5   6   7
2  8  9  10  11
"""
b = pd.DataFrame(np.arange(12, 0, -1).reshape(3, 4))
print(b)
"""
    0   1   2  3
0  12  11  10  9
1   8   7   6  5
2   4   3   2  1
"""
# 同维度运算,尺寸一致
c = a > b
print(c)
"""
       0      1      2      3
0  False  False  False  False
1  False  False  False   True
2   True   True   True   True
"""
d = a == b
print(d)
"""
       0      1      2      3
0  False  False  False  False
1  False  False   True  False
2  False  False  False  False
"""
# 不同维度,广播运算,默认在1轴
s = pd.Series(np.arange(4))
print(s)
"""
0    0
1    1
2    2
3    3
dtype: int32
"""
print(a > s)
"""
       0      1      2      3
0  False  False  False  False
1   True   True   True   True
2   True   True   True   True
"""
print(s > 0)
"""
0    False
1     True
2     True
3     True
dtype: bool
"""
相关文章
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【10月更文挑战第42天】本文是一篇技术性文章,旨在为初学者提供一份关于如何使用Python进行数据分析的入门指南。我们将从安装必要的工具开始,然后逐步介绍如何导入数据、处理数据、进行数据可视化以及建立预测模型。本文的目标是帮助读者理解数据分析的基本步骤和方法,并通过实际的代码示例来加深理解。
83 3
|
21天前
|
存储 数据挖掘 数据处理
Python Pandas入门:行与列快速上手与优化技巧
Pandas是Python中强大的数据分析库,广泛应用于数据科学和数据分析领域。本文为初学者介绍Pandas的基本操作,包括安装、创建DataFrame、行与列的操作及优化技巧。通过实例讲解如何选择、添加、删除行与列,并提供链式操作、向量化处理、索引优化等高效使用Pandas的建议,帮助用户在实际工作中更便捷地处理数据。
31 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
159 4
数据分析的 10 个最佳 Python 库
|
2月前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
120 5
|
2月前
|
存储 数据可视化 数据挖掘
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
2月前
|
数据采集 存储 数据可视化
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
2月前
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践
|
2月前
|
数据采集 数据可视化 数据挖掘
掌握Python数据分析,解锁数据驱动的决策能力
掌握Python数据分析,解锁数据驱动的决策能力