一句python两句R:矩阵与向量的基本运算

Posted 基督徒Isaac

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一句python两句R:矩阵与向量的基本运算相关的知识,希望对你有一定的参考价值。

  • 前面提到过,Python的dict字典可以用R语言的list()列表代替
  • 本期重点:

R语言,按列顺序,按行整合
numpy,按行顺序,按列整合

  • Python代码:
# https://my.oschina.net/shadowolf/blog/1839241
import numpy as np

a = np.arange(1, 7, 1).reshape(2, 3)
a# R语言默认按列顺序生成及计算矩阵;numpy按行顺序生成矩阵

b = np.arange(1, 4, 1)/10
b

a + b # 按行顺序

a - b # 按行顺序

a * b # 按行顺序

a / b # 1÷0.1,2÷0.2,3÷0.3,4÷0.1,...,按行顺序

# numpy,按行顺序,按列整合 # sum( axis = 0 ) 按列处理
a / np.sum(a, axis = 0)

# array([[0.2       , 0.28571429, 0.33333333],
#       [0.8       , 0.71428571, 0.66666667]])

import pandas as pd
a = pd.DataFrame(a)
a / a.apply(lambda x: x.sum(), axis=0)

#		0		1			2
#0		0.2		0.285714	0.333333
#1		0.8		0.714286	0.666667
  • R代码
a <- matrix(1:6, nrow = 2, byrow = T); a # byrow强行改为按行排序
b <- 1:3/10; b
a + b # 1+0.1,4+0.2,2+0.3,5+0.1,...,按列顺序
a - b # 按列顺序
a * b # 按列顺序
a / b # 1÷0.1,4÷0.2,2÷0.3,5÷0.1,...,按列顺序
# R语言,按列顺序,按行整合 # MARGIN = 1 按行处理
a / apply(a, 1, sum)
#           [,1]      [,2] [,3]
#[1,] 0.1666667 0.3333333  0.5
#[2,] 0.2666667 0.3333333  0.4

+ a
- a
a ^ c(2, 1)
a %% c(2, 5)
a %/% c(3, 6)

a %*% b # 矩阵乘法
a %o% b # b中每个元素与a相乘,形成一个列表
a %o% cbind(b, b) # 按列顺序

以上是关于一句python两句R:矩阵与向量的基本运算的主要内容,如果未能解决你的问题,请参考以下文章

一句python两句R:标量向量矩阵列表/字典的基本运算差异(持续更新中)

R语言矩阵运算

第四十篇 Numpy.array的基本操作——向量及矩阵的运算

一句python两句R:贪心算法简单案例(暨 R语言在for循环中调用字典的方法)

一句python两句R:贪心算法简单案例(暨 R语言在for循环中调用字典的方法)

一句python两句R:贪心算法简单案例(暨 R语言在for循环中调用字典的方法)