一句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:标量向量矩阵列表/字典的基本运算差异(持续更新中)
第四十篇 Numpy.array的基本操作——向量及矩阵的运算
一句python两句R:贪心算法简单案例(暨 R语言在for循环中调用字典的方法)