《利用python进行数据分析》之DataFrame与Series之间的运算

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mr_muli/article/details/84034879
  • 《利用python进行数据分析》之DataFrame与Series之间的运算
# -*- coding: utf-8 -*-
"""
Created on Tue Nov 13 19:28:34 2018

@author: muli
"""

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

# DataFrame和Series之间的运算
# 跟NumPy数组一样,DataFrame和Series之间的算术运算也是有明确规定的。
arr=np.arange(12.).reshape((3,4))
print(arr)
print("---------------------")
print(arr[0])
# 广播 运算
print(arr-arr[0])

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

print(frame)
print("--------------")
series=frame.ix[0]
print(series)
print("--------------")
# 默认情况下,DataFrame和Series之间的算术运算符将Series的索引匹配到DataFrame的列,然后沿着行一直向下广播:
print(frame-series)
print("--------------")
# 如果某个索引值在DataFrame的列或Series的索引中找不到,
# 则参与运算的两个对象就会被重新索引以形成并集:
series2=Series(range(3),index=['b','e','f'])
print(series2)
# Series为一矩阵的行序列
# 将Series与DadaFrame相加时,是行向量之间的相加
# 非空部分,将用 NaA 来补充
print(frame+series2)

print("------############------------")
#如果你希望匹配行且在列上广播,则必须使用算术运算方法:
series3=frame['d']
print(series3)
# DataFrame要匹配Series的行向量,且在列向量上 广播,
# 算术运算方法--add/sub/div/mul
#方法 说明
#add 用于加法(+)的方法
#sub 用于减法(-)的方法
#div 用于乘法(*)的方法
#mul 用于除法(/)的方法
# axis=0---y轴
# axis=1---x轴
print(frame.sub(series3,axis=0))

猜你喜欢

转载自blog.csdn.net/mr_muli/article/details/84034879
今日推荐