小编Moe*_*Moe的帖子

如何将具有对象dtype的Numpy 2D数组转换为常规的浮点数2D数组

作为我正在研究的更广泛的程序的一部分,我最终得到了包含字符串,3D坐标等的对象数组.我知道与结构化数组相比,对象数组可能不是很受欢迎,但我希望在不改变大量代码的情况下解决这个问题.

让我们假设我的数组obj_array(有N行)的每一行的格式都是

Single entry/object of obj_array:  ['NAME',[10.0,20.0,30.0],....] 
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试加载此对象数组并切片3D坐标块.到目前为止,一切正常,只需要问一下.

obj_array[:,[1,2,3]]
Run Code Online (Sandbox Code Playgroud)

然而,结果也是一个对象数组,我将面临问题,因为我想形成一个浮点数的二维数组:

size [N,3] of N rows and 3 entries of X,Y,Z coordinates
Run Code Online (Sandbox Code Playgroud)

现在,我循环遍历行并将每一行分配给目标2D flot数组的一行以解决问题.我想知道numpy的阵列转换工具是否有更好的方法?我尝试了一些东西,无法绕过它.

Centers   = np.zeros([N,3])

for row in range(obj_array.shape[0]):
    Centers[row,:] = obj_array[row,1]
Run Code Online (Sandbox Code Playgroud)

谢谢

python arrays 2d numpy object

15
推荐指数
3
解决办法
3万
查看次数

numpy datetime64 add或substract date interval

我正在解析一个巨大的ascii文件,其中包含分配给条目的日期.所以,我发现自己使用与numpy.datetime64并行的datetime包来添加数组功能.我知道pandas包可能最适合用于约会,但是尝试在没有熊猫的情况下将其拉出来.我一直在寻找一种巧妙的方法来添加/减去某个日期步骤,例如一年或者3个月的datetime64对象.

目前,我正在将dt64对象转换为dt对象,并使用replace函数来更改年份,例如,之后必须将其转换回dt64,这对我来说有点麻烦.所以,如果有人只使用numpy.datetime64格式有更好的解决方案,我将不胜感激.

示例:将"YYYY-12-31"转换为"(YYYY-1)-12-31"

a = np.datetime64(2014,12,31)               # a is dt64 object
b = a.astype(object)                        # b is dt object converted from a
c = np.datetime64( b.replace(b.year-1))     # c is dt64 object shifted back 1 year (a -1year)
Run Code Online (Sandbox Code Playgroud)

python numpy date datetime64

12
推荐指数
1
解决办法
2万
查看次数

使用 conda 环境在 VS code 中部署 Azure Functions

当我尝试在本地运行我的 azure 函数时,VS 代码中的 python 设置遇到了一些不一致的问题。我试图避免使用 VS code 自动为 azure 函数项目设置的“venv”环境,而是使用我制作的预先创建的 conda 环境,并安装了所有要求。只是为了澄清一下,这是关于本地部署和不是天蓝色的门户。

myfunc__init__.py

import json
import logging
import time

import azure.functions as func
import pandas as pd                    # Import Error happens here!

def main(req: func.HttpRequest) -> func.HttpResponse:
   ...
Run Code Online (Sandbox Code Playgroud)

.vscode\Settings.json

{
  // Local Machine Conda VENV (Define CONDAPATH in Windows Environment)
  "python.condaPath": "%CONDAPATH%",
  "python.pythonPath": "%CONDAPATH%\\envs\\azure\\python.exe",
  "azureFunctions.pythonVenv": "%CONDAPATH%\\envs\\azure",

  // Created Local VENV by VS Code (pythonPath is difference for MAC vs Windows)
  //"azureFunctions.pythonVenv": ".venv",

  // Azure Function Stuff
  "azureFunctions.deploySubpath": …
Run Code Online (Sandbox Code Playgroud)

python azure visual-studio-code azure-functions

5
推荐指数
1
解决办法
6012
查看次数