m = np.random.randint(4,size=(4,4,4))
Run Code Online (Sandbox Code Playgroud)
假设我想为每个整数创建单独的数组
mm=[]
mm.append((m==1).astype(int))
mm.append((m==2).astype(int))
mm.append((m==3).astype(int))
Run Code Online (Sandbox Code Playgroud)
我不知道是否有更好的方法来做到这一点,而无需显式定义m==1等是否有可能一样容易,因为它是在Matlab多维数组如本实施蟒蛇隐式扩张方式后?
我有两个相同大小的 rgb 图像,我想计算一个相似性度量。我想从欧几里得距离开始:
import scipy.spatial.distance as dist
import cv2
im1 = cv2.imread("im1.jpg")
im2 = cv2.imread("im2.jpg")
>> im1.shape
(820, 740, 3)
>> dist.euclidean(im1,im2)
ValueError: Input vector should be 1-D.
Run Code Online (Sandbox Code Playgroud)
我知道dist.euclidean需要一个1-d阵列和im1和im2是3-d,但有将与3-d阵列工作,或者是否有可能变换函数im1和im2到1-d阵列蜜饯在图像中的信息?
import pandas as pd
import statsmodels.formula.api as smf
df = pd.read_csv('http://www.bodowinter.com/tutorial/politeness_data.csv')
df = df.drop(38)
Run Code Online (Sandbox Code Playgroud)
在R我会做:
lmer(frequency ~ attitude + (1|subject) + (1|scenario), data=df)
Run Code Online (Sandbox Code Playgroud)
这R给了我:
Random effects:
Groups Name Variance Std.Dev.
scenario (Intercept) 219 14.80
subject (Intercept) 4015 63.36
Residual 646 25.42
Fixed effects:
Estimate Std. Error t value
(Intercept) 202.588 26.754 7.572
attitudepol -19.695 5.585 -3.527
Run Code Online (Sandbox Code Playgroud)
我试图用做同样的事情statsmodels:
model = smf.mixedlm("frequency ~ attitude", data=df, groups=df[["subject","scenario"]]).fit()
Run Code Online (Sandbox Code Playgroud)
但是model.summary()给了我不同的输出:
Mixed Linear Model Regression Results
=======================================================
Model: …Run Code Online (Sandbox Code Playgroud) 是否可以一次性将一个numpy对象分配给多个变量?
例如,我有许多我想要启动的变量 np.zeros((2,), dtype=np.object)
我想过要做a,b,c = np.zeros((2,), dtype=np.object)但有一个ValueError.a=b=c=np.zeros((2,), dtype=np.object)不起作用,因为如果我改变一个变量,其他变量也会改变.
有三个变量,如上面的例子,手动操作不是问题,但是当我有几十个时,能够以更有效的方式做到这一点会很方便.
编辑 - 一个更具体的例子是:
a = np.zeros((2,),dtype=np.object)
b = np.zeros((2,),dtype=np.object)
c = np.zeros((2,),dtype=np.object)
a[0] = pd.Series(data=np.random.rand(10))
a[1] = pd.Series(data=np.random.rand(5))
b[0] = 'text1'
b[1] = 'text2'
c[0] = [0,0,0,0,0,0,0,0,0]
c[1] = [1,1,1,1,1]
data = {'a':a, 'b':b, 'c':c}
sio.savemat('test.mat',{'data':data})
Run Code Online (Sandbox Code Playgroud) a = np.array([1,2,4,2,3,4,1])
s = [1,2]
Run Code Online (Sandbox Code Playgroud)
如何获得一个数组,该数组告诉我中的元素是否s存在a?这就是我希望得到的:
[True, True, False, True, False, False, True]
Run Code Online (Sandbox Code Playgroud) df=pd.DataFrame({'col1':['a','a','b','b','c'],'col2':['x','y','x','y','x']})
Run Code Online (Sandbox Code Playgroud)
我想为 中的每个字母选择那些与 的col1字母所有可能配对的行col2。在这个例子中应该是
col1 col2
0 a x
1 a y
2 b x
3 b y
Run Code Online (Sandbox Code Playgroud)
因为这对[c y]失踪了。
python ×6
numpy ×3
arrays ×1
mixed-models ×1
pandas ×1
r ×1
similarity ×1
statsmodels ×1
variables ×1