arrays - 错误:操作数无法与形状 (359,) (358,) 一起广播。我已经尝试通过切片来解决这个问题,显然这不起作用
问题描述
我将首先说我对编程知之甚少。我是一名大学生,我的教授基本上把这个作为期末课程论文扔给了我。无论如何,足够的拖延。
该脚本基本上从源自测量样本磁阻的文件中获取数据,它还将 MR 分解为函数的不对称和对称贡献。问题是 AS 和 SY 贡献是 358 个单位长的数组,而 Field 是 359 个,当我尝试拟合该函数时它不起作用,因为它们的长度不同。我想要做的是将我的 Field 数组切片 1,以便它匹配 SY 或 AS 贡献。
我不会把整个代码放在这里,但这里有一些东西: DY 被定义为
DY={}
for i in a:
DY[i]=pd.read_csv(i,skiprows=16)
然后有一个名为 getcontributions 的函数,它撤回了函数的 SY 和 AS 贡献,它看起来是这样的
antisym000=getContribution(DY[i]['Resistance Ch1 (Ohms)']**(-1),DY[i]['Field (Oe)']/10000)
所以然后我尝试以这种方式绘制和拟合
i='20201006_Te07-1_MR_s017_9T_xy_58deg.dat'
antisymtest=getASContribution(DY[i]['Resistance Ch1 (Ohms)']**(-1),DY[i]['Field (Oe)']/10000)
DY[i]['Field (Oe)'][0:357]
fit=curve_fit(polinomialas, DY[i]['Field (Oe)']/10000,antisymtest['AS'], p0=[0,-1])
ans,cov=fit
fit_a,fit_b=ans
legend="S001, " + str(int(DY[i]['AC Current Ch1 (mA)'][0]*1000))+"uA, " + str(int(round((DY[i]['Temperature (K)'][0]),0))) + "K, " + str(int(round((DY[i]['Frequency Ch1 (Hz)'][0]),0))) + "Hz, "
datalegend="R"
print(ans)
print(i)
plt.plot(DY[i]['Field (Oe)']/10000, polinomialas(DY[i]['Field (Oe)']/10000, fit_a, fit_b))
plt.scatter(DY[i]['Field (Oe)']/10000,antisymtest['AS'],c='green', label='$58^{/circ}$')
plt.xlabel(r'$B$(T)')
plt.ylabel(r'$G (\Omega^{-1}$)')
plt.figtext(0.1,0.9, str(round(fit_a,4)) + "$\Omega$ + " +str(round(fit_b,4)) + "$\Omega/$T $\cdot B$ ")
plt.figtext(0.2,0.3,legend)
plt.savefig(legend + datalegend + '!45!.jpg')
它返回错误“操作数无法与形状(359,)(358,)一起广播”我也尝试过切片
Field=DY[i]['Field (Oe)']
SliceObj=slice(0, 357)
Field[SliceObj]
两者都不起作用,如果我这样做并使用len
它仍然会返回 359。这里有什么想法吗?另一种可能性可能是在反对称测试中添加一个额外的项目,但这是一个pd.DataFrame
,老实说我不知道该怎么做,我宁愿只对字段进行切片。
解决方案
推荐阅读
- ios - 在带有触摸指示器且无光标的设备或模拟器上录制 iOS 应用程序的视频
- git - Github - 在合并后清理分支作为拉取请求的一部分
- javascript - 无法加载资源错误:服务器响应状态为 404(未找到)
- ios - 由于未捕获的异常“RLMException”而终止应用程序,原因:“对象已被删除或无效。”
- haskell - Proofs 在 Coq 提取中的作用
- azure-devops - 每次在 Azure DevOps 中提出拉取请求时,如何修复一个人作为审阅者?
- mysql - 从不同表中的两列获取重复项
- reactjs - 如何在使用本地存储和 react-redux 重定向到登录页面之前检查用户是否已登录?
- amazon-mws - 如何使用 MWS API 获取要点和产品图片
- linux - 我们使用 openstack keypair 命令到 vm 时的路径是什么