我正在学习Cython并遇到了这些代码:
import numpy as np
cimport numpy as np
def mean(np.ndarray[np.double_t] input):
cdef np.double_t cur
# Py_ssize_t is numpy's index type
cdef Py_ssize_t i
cdef Py_ssize_t N = len(input)
for i from 0 <= i < N:
cur += input[i]
return cur / N
a=np.array([1,2,3,4], dtype=np.double)
Run Code Online (Sandbox Code Playgroud)
显然,这将返回的平均一个是2.5.我的问题是:
for循环是Python循环,Cython还是C?
我有一个Nx1值的向量.我想要做的是创建一个NxN矩阵,其中每个值代表第i个和第j个值之间的差异 - 有点像一个大的相关矩阵.我已经完成了循环,但我正在寻找一种更优雅的方法来使用MATLAB的矢量化功能,因为这个矢量可能会变得非常大.
我在zipline和pandas工作,并使用该方法pandas.Panel
将a 转换为a .这是结果,你可以看到是多索引的:pandas.DataFrame
to_frame()
pandas.DataFrame
price
major minor
2008-01-03 00:00:00+00:00 SPY 129.93
KO 26.38
PEP 64.78
2008-01-04 00:00:00+00:00 SPY 126.74
KO 26.43
PEP 64.59
2008-01-07 00:00:00+00:00 SPY 126.63
KO 27.05
PEP 66.10
2008-01-08 00:00:00+00:00 SPY 124.59
KO 27.16
PEP 66.63
Run Code Online (Sandbox Code Playgroud)
我需要将此框架转换为如下所示:
SPY KO PEP
2008-01-03 00:00:00+00:00 129.93 26.38 64.78
2008-01-04 00:00:00+00:00 126.74 26.43 64.59
2008-01-07 00:00:00+00:00 126.63 27.05 66.10
2008-01-08 00:00:00+00:00 124.59 27.16 66.63
Run Code Online (Sandbox Code Playgroud)
我已经尝试过pivot方法,stack/unstack等等,但这些方法并不是我想要的.我真的非常坚持这一点,任何帮助都表示赞赏.
熊猫date_range
返回pandas.DatetimeIndex
,其索引的格式设置为时间戳(日期加时间)。例如:
In [114] rng=pandas.date_range('1/1/2013','1/31/2013',freq='D')
In [115] rng
Out [116]
<class 'pandas.tseries.index.DatetimeIndex'>
[2013-01-01 00:00:00, ..., 2013-01-31 00:00:00]
Length: 31, Freq: D, Timezone: None
Run Code Online (Sandbox Code Playgroud)
鉴于我没有在应用程序中使用时间戳,所以我想将此索引转换为以下日期:
In [117] rng[0]
Out [118]
<Timestamp: 2013-01-02 00:00:00>
Run Code Online (Sandbox Code Playgroud)
将以表格形式2013-01-02
。
我正在使用熊猫0.9.1版
我试图pandas.DataFrames
在一个datetime64[ns, UTC]
领域加入两个人,但失败了ValueError
(如下所述),这对我来说并不直观。考虑这个例子:
>>> import pandas as pd
>>> import numpy as np
>>>
>>> s_1 = pd.Series(np.random.randn(2,), index=['1981-12-10', '1984-09-14'])
>>> s_1.index = pd.to_datetime(s_1.index, utc=True)
>>> df_1 = pd.DataFrame(s_1, columns=['s_1']).assign(date=s_1.index)
>>> df_1.dtypes
s_1 float64
date datetime64[ns, UTC]
dtype: object
>>>
>>> d = {
... 'v': np.random.randn(2,),
... 'close': ['1981-12-10', '1984-09-14']
>>> }
>>> df_2 = pd.DataFrame(data=d)
>>> df_2.close = pd.to_datetime(df_2.close, utc=True)
>>> df_2['date'] = df_2.close.apply(lambda x: x.replace(hour=0, minute=0, second=0))
>>> df_2.dtypes
v float64
close …
Run Code Online (Sandbox Code Playgroud) 我有两个类似于以下的表:
我试图在Access中创建一个查询来创建一个这样的表:
当然,关键是JOIN必须与Date和Name字段匹配.我可以加入从T2到T1的领域.
连接Date和Name上的字段的正确语法(在SQL中还是通过查询设计器)是什么?
我的尝试重复了字段数.
Cython教程展示了如何将Numpy与Cython一起使用的一个很好的例子.但是,我有使用scipy.stats包的代码,在尝试编译代码时,我出现以下错误:
dvi.pyx:7:8: 'scipy.stats.pxd' not found
Run Code Online (Sandbox Code Playgroud)
我担心Cython(?)不支持scipy.有人可以用Cython评论scipy的使用,还是指向一些资源/教程的方向?Thannks!
我刚刚在Windows 7机器(使用sbt
)上构建了Spark,并且正在快速启动.调用时,Spark作业失败first()
.
我是Java的新手,并且不清楚错误堆栈跟踪向我显示的内容,尽管它看起来与给java.net.SocketException
定消息传递有关.注意我没有使用Hadoop安装.另请注意,在Scala中运行此示例时,没有错误.
环境:
Windows 7
Spark 1.2.1
Anaconda Python 2.7.8
Scala 2.10.4
sbt 0.13.7
jdk 1.7.0.75
In [2]: path = u'C:\\Users\\striji\\Documents\\Personal\\python\\pyspark-flights\\2001.csv.bz2'
In [3]: textFile = sc.textFile(path)
In [4]: textFile
Out[4]: C:\Users\striji\Documents\Personal\python\pyspark-flights\2001.csv.bz2 MappedRDD[1] at textFile at NativeMethodAccessorImpl.java:-2
In [5]: textFile.count()
...
Out[5]: 5967781
In [6]: textFile.first()
15/02/19 08:52:01 INFO SparkContext: Starting job: runJob at PythonRDD.scala:344
15/02/19 08:52:01 INFO DAGScheduler: Got job 1 (runJob at PythonRDD.scala:344) with 1 output partitions (allowLocal=true)
15/02/19 …
Run Code Online (Sandbox Code Playgroud) 我有一个列表,我想用作字典的键和带有值的元组列表.考虑以下:
d = {}
l = ['a', 'b', 'c', 'd', 'e']
t = [(1, 2, 3, 4), (7, 8, 9, 10), (4, 5, 6, 7), (9, 6, 3, 8), (7, 4, 1, 2)]
for i in range(len(l)):
d[l[i]] = t[i]
Run Code Online (Sandbox Code Playgroud)
该列表将始终为5个值,并且将始终为5个元组,但每个元组中有数十万个值.
我的问题是:用t中的元组填充字典d的最快方法是什么,键是l中的值?
我使用的百分比创建的宽度div
与display
属性设置为table
.在我的例子中,父级的宽度div
是88.7969px.所以,按理说,设置width
儿童div
与display
属性设置为table
100%将计算宽度是88.7969px.但事实并非如此.它计算宽度为88px.
是否table
不支持显示器的小数像素宽度?
这是小提琴.如果你检查元素,你会看到content
88.7969px 的包装器,但是div
88px 的内部子包.
python ×7
pandas ×3
cython ×2
apache-spark ×1
arrays ×1
c ×1
css ×1
dictionary ×1
for-loop ×1
html ×1
java ×1
join ×1
list ×1
matlab ×1
matrix ×1
ms-access ×1
multi-index ×1
pyspark ×1
python-3.x ×1
scipy ×1
statistics ×1
tuples ×1
zipline ×1