gwydion允许用户轻松生成伪随机科学数据。

Gwydion的Python项目详细描述


重力

gwydion允许用户轻松生成伪随机科学数据。

本着Faker的精神,gwydion允许您生成伪随机 使用简单、干净和可定制的api的数据。

gwydion以trickster from Welsh mythology命名。

安装

您可以使用PyPI从^{p>安装

pip install gwydion

示例

下面给出了gwydion对象的一些基本示例。

在第一个例子中,我们创建了一个简单的Linear对象,由数学关系y = mx + c给出。 当用户没有设置参数时,gwydion对象将默认为合适的随机值。默认情况下,对象还将向y数据添加一些随机噪声。 在下面的示例中,我们允许Linear对象生成所有参数,但手动设置数据点的数目N

from gwydion import Linear

lin = Linear(N=6)

x, y = lin.data
print(x, y, sep='\n')
# [  0.   2.   4.   6.   8.  10.]
# [ -0.17387604   5.59216341  11.77162695  17.70041889  23.55609025  28.67617757]

在第二个示例中,使用各种手动选择的参数创建Exponential函数。 指数函数由y = I * base**(k*x)给出。 在下面的示例中,我们设置了:

  • 数据点的数目N = 3
  • 强度I = 10
  • 指数乘法器k = -1
  • x限制xlim = (0, 10)
  • 并选择不向数据中添加任何随机噪声add_rand = False

对于Exponential对象,默认的base不是随机的,而是欧拉数e = 2.71828...。 这个事实,加上k = -1,意味着下面的对象有效地给出了指数衰减。

from gwydion import Exponential

exp = Exponential(N=3, I=10, k=-1, xlim=(0,10), add_rand=False)

x, y = exp.data
print(x, y, sep='\n')
# [  0.   5.  10.]
# [  1.00000000e+01   6.73794700e-02   4.53999298e-04]

最后,让我们看看Gwydion对象如何与matplotlib一起工作。在下面的示例中,我们生成 5Sine使用列表理解的对象。然后我们可以使用plot函数轻松地绘制每个数据集。

from gwydion import Sine
import matplotlib.pyplot as plt

sines = [Sine(xlim=(0,5)) for _ in range(5)]

fig, ax = plt.subplots()

for sine in sines:
    sine.plot(ax=ax)

ax.set_xlabel('Time')
ax.set_ylabel('Intensity')

plt.show()
http://i.imgur.com/oG6zDBC.png

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在JUnit5中定义优先级   Web驱动程序将焦点切换到iframe的java困难   java JFileChooser没有文件名文本字段选项   本地化是否可以回退到Java中resourcebundle的宏语言(例如,nynorsk>norsk)   禁用时Java断言的性能拖动   未考虑执行中的java jsonschema2pojo maven插件配置   java微调器。setSelection未调用setOnItemSelectedListener函数   序列化XStream:序列化java的反序列化。sql。时间导致错误   java无法理解为什么“ajpnio8009execXX”线程在AbstractQueuedSynchronizer$ConditionObject上阻塞/等待时间。等候   Java date给我的格式是mm/dd/yyyy,其中jquery datepicker的日期格式是dd/mm/yyyy   jsf如何用javaweb应用程序在客户端重写csv文件   雅加达ee Java邮件Api,无法从outlook客户端读取“.msg附件”   java PreparedStatement性能调优