所以,假设我有这样的DatetimeIndex:ed数据(当然会有几天):
X Y Z
timestamp
2013-01-02 10:00:13.295000 366 -8242 -1820
2013-01-02 10:00:13.329000 366 -8016 -1820
2013-01-02 10:00:13.352000 32 -8016 -1820
2013-01-02 10:00:13.882000 32 -9250 -1820
2013-01-02 10:00:15.076000 -302 -9250 -1820
Run Code Online (Sandbox Code Playgroud)
我想要像这样的MultiIndexed:
X Y Z
Date Time
2013-01-02 10:00:13.295000 366 -8242 -1820
10:00:13.329000 366 -8016 -1820
10:00:13.352000 32 -8016 -1820
10:00:13.882000 32 -9250 -1820
10:00:15.076000 -302 -9250 -1820
Run Code Online (Sandbox Code Playgroud)
我知道你可以(可能)提取DatetimeIndex,将它与.date()和.time()分成两列并将其设置为Dataframe的新索引,但是有更多'pandaic'的方法吗?在我看来,这种功能会派上用场......
假设我有一个关系r ^ 2 = x ^ 2 + y ^ 2.现在假设在计算之后得到x和y的复杂输出,但理论上可以通过使用上述关系简化很多.我如何告诉Mathematica这样做?
我指的是替换规则x ^ 2 + y ^ 2 - > r ^ 2并且使用Simplify/FullSimplify with Assumptions不起作用的情况,例如,如果输出是x/y + y/x =(x ^ 2) + y ^ 2)/(xy)= r ^ 2 /(xy).
简化适用于内置函数,但不适用于用户定义的函数!所以基本上我希望我的函数像内置函数一样对待!
我需要初始化可变 shape 数组(dim,) + (nbins,)*dim,其中 dim 通常很小,但 nbins 可以很大,因此数组具有 ndims = dim + 1。例如,如果dim = 1我需要一个 shape 数组(1, nbins),如果dim = 2形状是(2, nbins, nbins)等。
是否可以相应地键入 numpy 数组?我试过类似的东西
ctypedef uint32_t uint_t
ctypedef float real_t
...
cdef:
uint_t dim = input_data.shape[1]
np.ndarray[real_t, ndim=dim+1] my_array = np.zeros((dim,)\
+ (nbins,)*dim, dtype = np.float32)
Run Code Online (Sandbox Code Playgroud)
是的,我有预感它行不通,但无论如何都必须尝试;)
有可能做这样的事情还是我必须使用指针/内存分配等?或者我必须(大口大口!)只使用一维数组并在最后重塑它?
我需要一种快速的方法来获取矩阵中的零件并将它们堆叠在一个新的矩阵中.假设我有一个像这样的矩阵:
M =
1 45 4
1 91 15
2 34 89
3 89 9
3 96 99
Run Code Online (Sandbox Code Playgroud)
现在我想例如获取最后两列中的所有元素,左列具有值[1; 3],即输出应如下所示:
45 4
91 15
89 9
96 99
Run Code Online (Sandbox Code Playgroud)
为了获得例如第一列上对应于1的部分,我可以做到
M(M(:,1) == 1,2:end),
Run Code Online (Sandbox Code Playgroud)
并且我可以使用'或'逻辑来获得与[1; 3]对应的部分,但在实际情况下,我将有一个长整数向量...是否有矢量化的方式来做这个?
我认为for循环也可能非常快,但矩阵的各个部分大小不同,快速堆叠起来可能很困难......
我尝试plotly交互式3D绘图,它的伟大,但我发现3D旋转情节有点恼人,因为默认情况下旋转身边全是X,Y和Z轴(类似于在如谷歌地图).
是否可以仅围绕z轴旋转并上下平移摄像机视图?
所以基本上现在旋转是李群组中的SO(3).我更愿意至少选择使用SO(2)*R.