小编Mic*_*ael的帖子

更新绘图中的特定子图轴

设置:

  • 我正在尝试绘制一个子图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)

python python-3.x plotly plotly-python

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

如果字符串与列表中的字符串匹配,我如何从句子中删除字符串

我有一个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()但它的行为不像我预期的那样,因为此方法将查看名称列表中是否存在系列中的任何子字符串,这不是我需要的(即我需要完全匹配)。

你能在这里指出我正确的方向吗?

非常感谢您提前

python nlp list python-3.x pandas

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

ValueError:从字节/字符串转换为 numpy 时,缓冲区大小必须是元素大小的倍数

当我尝试将 numpy 数组保存为字节,然后保存为字符串时,将其转换回对象时遇到问题numpy.ndarray

工作流程如下:

  1. 首先,我使用方法将 numpy 数组转换为字节numpy.ndarray.tobytes()
  2. 然后我使用该str()函数将其转换为字符串。
  3. 最后我需要转换回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)

python arrays string byte numpy

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

“numpy”中的“切片”(:) 和“省略号”(...) 运算符有什么区别?

我遇到了一段代码,作者在数组中使用了ellipsis运算符(例如,[..., 1])numpy而不是slice运算符(例如,[:, 1])来获取数组部分。

我对这个主题的研究:

  1. scipy github wiki 页面我了解到这两个运算符执行有些相似的操作,即返回多维数组的切片。

  2. 我已经讨论过这个问题,它涉及numpy数组的几种切片技术,但没有找到关于何时应该使用slice运算符以及何时需要使用运算符的情况的详细说明ellipsis,或者它们的功能是否相同。

  3. 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
  • 它们可以互换使用吗?
  • 使用其中之一有什么优点吗?

我非常感谢您对我的问题进行详细说明,并提前感谢您的宝贵时间。

numpy python-3.x numpy-ndarray

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

c 中的 fread 读取的内容超出了指示的内容

我正在尝试编写一个程序,为 .wav 文件添加效果。

该计划应该:

  1. 读取 .wav 文件

    • 解析标头
    • 读取数据
  2. 操纵数据

  3. 创建一个新的 .wav 文件 -
    • 写标题
    • 写入新数据

我陷入了一些奇怪的函数问题fread()- 当我试图读取 4 个字节到我定义的字符数组(大小为 4 个字节)时 - 我得到了单词 + 垃圾。

如果我尝试以相同的方式读取 2 或 3 个字节 - 一切正常。

我尝试在两种情况下(当我读取 2/3 字节时与当我读取 4 字节时)用 while 循环打印数组的内容,直到 '\n' 而不是 printf("%s") - 我得到了相同的结果(第一种情况写字符串,第二种情况写字符串+垃圾)。另外,我写回标题并复制数据 - 创建的文件不是同一首歌!它确实打开了 - 所以标头很好,但数据是垃圾。我会很高兴听到一些关于可能原因的想法。我真的很困惑,请帮助我! 问题 - 输出的打印屏幕

c fread

-3
推荐指数
1
解决办法
1237
查看次数

标签 统计

python ×3

python-3.x ×3

numpy ×2

arrays ×1

byte ×1

c ×1

fread ×1

list ×1

nlp ×1

numpy-ndarray ×1

pandas ×1

plotly ×1

plotly-python ×1

string ×1