这是一个非常基本的(可能是愚蠢的)问题,但我无法让它发挥作用......
我有一个这种结构的json文件
{
"data": {
"what a burger": [1,2,3],
"wap": [66],
"the map": [11,20],
"H. Incandenza": [1,1],
"What a burger": [a,a,3]
}
}
Run Code Online (Sandbox Code Playgroud)
我想提取"name"与某个模式匹配的数据中的字段值.例如,我想提取所有不区分大小写的"汉堡"的巧合
[1,2,3],[α,α,3]
我的猜测是这样的
jq '.data | match("what a burger";"i")'
Run Code Online (Sandbox Code Playgroud)
但这会导致
jq: error (at <stdin>:9): object ({"what a bu...) cannot be matched, as it is not a string
Run Code Online (Sandbox Code Playgroud)
干杯.
我正在尝试使用Bokeh绘制一个包含年份和数字列的Pandas数据框DateTime.如果DateTime指定为x,则行为是预期的(x轴上的年份).但是,如果我用set_index打开DateTime列入数据帧的指数,那么只有指定y的TimeSeries在x轴毫秒我得到的时间.一个最小的例子
import pandas as pd
import numpy as np
from bokeh.charts import TimeSeries, output_file, show
output_file('fig.html')
test = pd.DataFrame({'datetime':pd.date_range('1/1/1880', periods=2000),'foo':np.arange(2000)})
fig = TimeSeries(test,x='datetime',y='foo')
show(fig)
output_file('fig2.html')
test = test.set_index('datetime')
fig2 = TimeSeries(test,y='foo')
show(fig2)
Run Code Online (Sandbox Code Playgroud)
这是预期的行为还是错误?我希望两种方法都有相同的图片.
干杯!!
我最近更新了我的一个“旧”项目的 nbdev 版本(我创建了一个新的 conda 环境),现在 github 中的自动测试(构建的“运行测试”部分)失败了
'coroutine' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)
每个笔记本的错误,这似乎与我的代码完全无关。还有一些
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Run Code Online (Sandbox Code Playgroud)
和
RuntimeWarning: coroutine 'ZMQSocketChannel.get_msg' was never awaited
Run Code Online (Sandbox Code Playgroud)
当我在nbdev_test_nbs本地运行时,这些都不会发生。
有什么线索吗?
我正在尝试使用sklearn进行典型相关分析(CCA).我将从手册中包含的简单示例开始:
from sklearn.cross_decomposition import CCA
X = [[0., 0., 1.], [1.,0.,0.], [2.,2.,2.], [3.,5.,4.]]
Y = [[0.1, -0.2], [0.9, 1.1], [6.2, 5.9], [11.9, 12.3]]
cca = CCA(n_components=1)
cca.fit(X, Y)
X_c, Y_c = cca.transform(X, Y)
Run Code Online (Sandbox Code Playgroud)
据我所知,在cca.x_weights_中我得到了"规范系数",即原始X变量的线性组合(MATLAB返回的矩阵"A"和"B"的列).然而,"规范相关"在哪里,即应用由规范系数给出的变换时达到的最大相关性(即,MATLAB返回的矢量"r").是否有可能在Python中得到它?
我正在使用h5py从python中保存HDF5格式的numpy数组.最近,我试图应用压缩,我得到的文件的大小更大......
我从事物(每个文件都有几个数据集)就像这样
self._h5_current_frame.create_dataset(
'estimated position', shape=estimated_pos.shape,
dtype=float, data=estimated_pos)
Run Code Online (Sandbox Code Playgroud)
这样的事情
self._h5_current_frame.create_dataset(
'estimated position', shape=estimated_pos.shape, dtype=float,
data=estimated_pos, compression="gzip", compression_opts=9)
Run Code Online (Sandbox Code Playgroud)
在特定示例中,压缩文件的大小是172K,未压缩文件的大小是72K(并且h5diff报告两个文件相等).我尝试了一个更基本的例子,它按预期工作......但不是在我的程序中.
怎么可能?我不认为gzip算法会提供更大的压缩文件,因此它可能与h5py及其使用有关: - /任何想法?
干杯!!
编辑:
看到输出后h5stat,似乎压缩版本节省了大量元数据(在输出的最后几行)
Filename: res_totolaca_jue_2015-10-08_17:06:30_19387.hdf5
File information
# of unique groups: 21
# of unique datasets: 56
# of unique named datatypes: 0
# of unique links: 0
# of unique other: 0
Max. # of links to object: 1
Max. # of objects in group: 5
File space information for file metadata (in bytes):
Superblock …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 .loc 访问基于 CategoricalIndex 的 Pandas 数据框的行,但我得到了一个TypeError. 一个最小的非工作示例是
import pandas as pd
df = pd.DataFrame({'foo': rand(3), 'future_index': [22, 13, 87]})
df['future_index'] = df['future_index'].astype('category')
df = df.set_index('future_index')
Run Code Online (Sandbox Code Playgroud)
然后,在尝试访问与标签 13 对应的行时
df.loc[13]
Run Code Online (Sandbox Code Playgroud)
我得到
TypeError: cannot do label indexing on <class 'pandas.core.indexes.category.CategoricalIndex'> with these indexers [13] of <class 'int'>
Run Code Online (Sandbox Code Playgroud)
尽管
13 in df.index
Run Code Online (Sandbox Code Playgroud)
正在True。我知道我最终可以获得 13 的索引
df.index.get_loc(13)
Run Code Online (Sandbox Code Playgroud)
但是,为什么上述更简单的方法不起作用?我错过了什么?
干杯。
我正在传递 numba 作为我的函数的签名
@numba.jit(numba.types.UniTuple(numba.float64[:, :], 2)(
numba.float64[:, :], numba.float64[:, :], numba.float64[:, :],
earth_model_type))
Run Code Online (Sandbox Code Playgroud)
其中earth_model_type定义为
earth_model_type = numba.deferred_type()
earth_model_type.define(em.EarthModel.class_type.instance_type)
Run Code Online (Sandbox Code Playgroud)
它编译得很好,但是当我尝试调用该函数时,我得到了
*** TypeError: 没有匹配的参数类型定义数组(float64, 2d, F), array(float64, 2d, C), array(float64, 2d, F), instance.jitclass.EarthModel#7fd9c48dd668
具有不匹配定义的参数类型在我看来与上面的类型几乎相同。另一方面,如果我不通过 using 指定签名@numba.jit(nopython=True),它工作正常并且由 numba 编译的函数的签名是
ipdb> numbed_cowell_propagator_propagate.signatures
Run Code Online (Sandbox Code Playgroud)
[(array(float64, 2d, F), array(float64, 2d, C), array(float64, 2d, F), instance.jitclass.EarthModel#7f81bbc0e780)]
编辑
如果我使用常见问题解答中的方式强制执行 C 顺序数组,我仍然会收到错误
类型错误:没有匹配的参数类型定义数组(float64, 2d, C), array(float64, 2d, C), array(float64, 2d, C), instance.jitclass.EarthModel#7f6edd8d57b8
我很确定问题与延迟类型有关,因为如果不是传递 jit 类,而是传递该类所需的所有属性(4numba.float64秒),它工作正常。
指定签名时我做错了什么?
干杯。
我正在使用四开来准备一些幻灯片(即,revealjs输出),但我找不到缩放嵌入图像的方法(例如,来自维基百科)。看来“宽度”参数应该可以,但百分比都不是
{width="50%"}
Run Code Online (Sandbox Code Playgroud)
也不是绝对值
{width=600}
Run Code Online (Sandbox Code Playgroud)
似乎对渲染的图片有任何影响。有什么线索吗?
干杯。
我正在尝试将一列字符串转换为整数标识符......我无法在pandas(或python)中找到一种优雅的方法.在下面的例子中,我通过映射将"A"(字符串的列/变量)转换为数字,但对我来说它看起来像一个脏的黑客
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': ['homer_simpson', 'mean_street', 'homer_simpson', 'bla_bla'], 'B': 4})
unique = df['A'].unique()
mapping = dict(zip(unique, np.arange(len(unique))))
new_df = df.replace({'A': mapping})
Run Code Online (Sandbox Code Playgroud)
是否有更好,更直接的方法来实现这一目标?
python ×7
pandas ×3
bokeh ×1
compression ×1
correlation ×1
h5py ×1
hdf5 ×1
jq ×1
json ×1
key ×1
match ×1
matlab ×1
nbconvert ×1
numba ×1
numpy ×1
quarto ×1
regex ×1
reveal.js ×1
scikit-learn ×1
time-series ×1