当前位置: 移动技术网 > IT编程>脚本编程>Python > Series和DataFrame的简单数学运算

Series和DataFrame的简单数学运算

2020年08月10日  | 移动技术网IT编程  | 我要评论

Series和DataFrame的简单数学运算操作学习

引入相关库

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

Series的数学运算

首先创建两个series,s1和s2

s1=Series([1,2,3],index=['A','B','C'])
s1
A    1
B    2
C    3
dtype: int64
s1=Series([1,2,3],index=['A','B','C'])
s1
A    1
B    2
C    3
dtype: int64
s2=Series([4,5,6,7],index=['B','C','D','E'])
s2
B    4
C    5
D    6
E    7
dtype: int64

获取s1+s2的运算结果
其中A在s2里面为NaN,D和E在s1里面为NaN,NaN和任何数相加为NaN

s1 + s2
A    NaN
B    6.0
C    8.0
D    NaN
E    NaN
dtype: float64

DataFrame的运算

先创建两个DataFrame
第一个DataFrame为2*2的

df1=DataFrame(np.arange(4).reshape(2,2),index=['A','B'],columns=['BJ','SH'])
df1
     BJ SH
----------
A    0   1
B    2   3

第二个DataFrame为3*3的

df2=DataFrame(np.arange(9).reshape(3,3),index=['A','B','C'],columns=['BJ','SH','GZ'])
df2
     BJ SH GZ
-------------
A    0  1  2
B    3  4  5
C    6  7  8

获取df1+df2的运算结果
加法规则与Sereies类似,df1相对于df2没有值的地方作为NaN参与运算,结果也为NaN。

     BJ    SH   GZ
------------------
A    0.0  NaN  2.0
B    5.0  NaN  7.0
C    NaN  NaN  NaN

DataFrame内置的运算

创建一个新的DataFrame

df3=DataFrame([[1,2,3],[4,5,np.nan],[7,8,9]],index=['A','B','C'],columns=['c1','c2','c3'])
df3
     c1  c2  c3
------------------
A    1   2   3.0
B    4   5   NaN
C    7   8   9.0

sum运算返回一个Series,忽略NaN的值,得出每一列的和

df3.sum()
c1    12.0
c2    15.0
c3    12.0
dtype: float64

如下可以获取每一行的求和

df3.sum(axis=1)
A     6.0
B     9.0
C    24.0
dtype: float64

min求每一列的最小值,如果求行的min传入axis=1

df3.min()
c1    1.0
c2    2.0
c3    3.0
dtype: float64

max求每一列的最大值,如果求行的max传入axis=1

df3.max()
c1    7.0
c2    8.0
c3    9.0
dtype: float64

describe会返回一些以列为基础的统计的数据,count代表数据个数,mean代表平均值,std代表标准差,min代表最小值,max代表最大值,以及百分比数据。

df3.describe()
       c1   c2    c3
-------------------------
count 3.0  3.0  2.000000
mean  4.0  5.0  6.000000
std   3.0  3.0  4.242641
min   1.0  2.0  3.000000
25%   2.5  3.5  4.500000
50%   4.0  5.0  6.000000
75%   5.5  6.5  7.500000
max   7.0  8.0  9.000000

本文地址:https://blog.csdn.net/weixin_44039183/article/details/107878158

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网