设置:
plotly库绘制子图,但无法弄清楚如何引用特定子图的轴来更改其名称(或其他属性)。Code 1我展示了一个简单的示例,其中我添加了两个图,一个在另一个的上方,并使用plotly.subplots.make_subplots.代码1
import numpy as np
from plotly.subplots import make_subplots
from math import exp
fig = make_subplots(2, 1)
x = np.linspace(0, 10, 1000)
y = np.array(list(map(lambda x: 1 / (1 + exp(-0.1 * x + 5)), x)))
fig.add_trace(
go.Scatter(
x=x,
y=y,
name=f'\N{Greek Small Letter Sigma}(x)',
showlegend=True
),
row=1,
col=1
)
x = np.where(np.random.randint(0, 2, 100)==1)[0]
fig.add_trace(
go.Scatter(
x=x,
y=np.zeros_like(x),
name=f'Plot 2',
mode='markers',
marker=dict(
symbol='circle-open',
color='green',
size=5
),
showlegend=True
),
row=2,
col=1 …Run Code Online (Sandbox Code Playgroud) 我有一个pandas.Series像这样的句子:
0 mi sobrino carlos bajó conmigo el lunes
1 juan antonio es un tio guay
2 voy al cine con ramón
3 pepe el panadero siempre se porta bien conmigo
4 martha me hace feliz todos los días
Run Code Online (Sandbox Code Playgroud)
另一方面,我有一个像这样的名字和姓氏列表:
l = ['juan', 'antonio', 'esther', 'josefa', 'mariano', 'cristina', 'carlos']
我想将系列中的句子与列表中的名称相匹配。实际数据比这个例子大得多,所以我认为系列和列表之间的元素比较不会有效,所以我创建了一个包含名称列表中所有字符串的大字符串,如下所示:
'|'.join(l)
我尝试创建一个布尔掩码,稍后允许我通过 true 或 false 值索引包含名称列表中名称的句子,如下所示:
series.apply(lambda x: x in '|'.join(l))
Run Code Online (Sandbox Code Playgroud)
但它返回:
0 False
1 False
2 False
3 False
4 False
Run Code Online (Sandbox Code Playgroud)
这显然不行。
我也尝试使用,str.contains()但它的行为不像我预期的那样,因为此方法将查看名称列表中是否存在系列中的任何子字符串,这不是我需要的(即我需要完全匹配)。
你能在这里指出我正确的方向吗?
非常感谢您提前
当我尝试将 numpy 数组保存为字节,然后保存为字符串时,将其转换回对象时遇到问题numpy.ndarray。
工作流程如下:
numpy.ndarray.tobytes()。str()函数将其转换为字符串。numpy.ndarray对象。我首先需要转换为numpy.ndarrayfrom对象的原因是,当我将向量存储在对象中并将其保存到文件中时,它的所有值都会自动转换为字符串。strnumpypandas.DataFramecsv
vector_np
array([ 1.06229002e-09, 1.91655440e-10, -1.64956463e-16, 1.96307718e-15,
1.70059011e-09, -7.69618695e-10, 1.23360626e-10, 3.63022924e-13,
8.98514856e-09, -1.36133589e-13, -7.49299599e-13, 1.66008671e-13,
-4.21360477e-19, 7.89110884e-10, -2.16149680e-10, -1.26254478e-10,
2.02095242e-25, -1.26993445e-12, -8.12166451e-18, 2.23239724e-11,
-5.50037583e-11, -1.53251136e-13, -3.10830309e-12, 2.30680945e-10,
-8.10731206e-26, 2.60155773e-13, -1.06329112e-14, 4.78776823e-12,
-4.07784303e-10, -8.77197289e-13, 1.77004211e-09, -9.20980905e-17,
1.43903266e-18, 5.07994419e-10, 4.98258585e-11, 8.73321720e-12,
6.29363312e-12, -1.58257277e-13, 8.08954343e-10, 8.14411205e-12,
-1.68514957e-11, -3.08011938e-22, -7.01468987e-10, 5.53965202e-10,
1.04966575e-14, 7.65319571e-12, -8.68981408e-11, -5.46472476e-13,
1.45874458e-17, 2.25920328e-13, -3.61730974e-14, 8.72030069e-15,
-1.79377261e-10, 4.44089262e-13, …Run Code Online (Sandbox Code Playgroud) 我遇到了一段代码,作者在数组中使用了ellipsis运算符(例如,[..., 1])numpy而不是slice运算符(例如,[:, 1])来获取数组部分。
我对这个主题的研究:
从scipy github wiki 页面我了解到这两个运算符执行有些相似的操作,即返回多维数组的切片。
我已经讨论过这个问题,它涉及numpy数组的几种切片技术,但没有找到关于何时应该使用slice运算符以及何时需要使用运算符的情况的详细说明ellipsis,或者它们的功能是否相同。
从Example 1我看不出两个运算符之间有任何区别:
示例1:
import numpy as np
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
A[..., 0], A[:, 0] # Out: (array([1, 4, 7]), array([1, 4, 7]))
A[..., 0] == A[:, 0] # Out: array([ True, True, True])
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
slice使用vsellipsis运算符与有何区别numpy.ndarrays?我非常感谢您对我的问题进行详细说明,并提前感谢您的宝贵时间。
我正在尝试编写一个程序,为 .wav 文件添加效果。
该计划应该:
读取 .wav 文件
操纵数据
我陷入了一些奇怪的函数问题fread()- 当我试图读取 4 个字节到我定义的字符数组(大小为 4 个字节)时 - 我得到了单词 + 垃圾。
如果我尝试以相同的方式读取 2 或 3 个字节 - 一切正常。
我尝试在两种情况下(当我读取 2/3 字节时与当我读取 4 字节时)用 while 循环打印数组的内容,直到 '\n' 而不是 printf("%s") - 我得到了相同的结果(第一种情况写字符串,第二种情况写字符串+垃圾)。另外,我写回标题并复制数据 - 创建的文件不是同一首歌!它确实打开了 - 所以标头很好,但数据是垃圾。我会很高兴听到一些关于可能原因的想法。我真的很困惑,请帮助我! 问题 - 输出的打印屏幕