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在一个问题被连续正确回答三次/并添加差异后,我如何将程序循环回开始   Java中未实例化的匿名类   java如何在Android中录制视频,只允许横向模式和最长时间录制时间   java从另一个活动发送实时消息   多线程java线程和互斥   java禁用Spring安全日志   JAVA伊奥。StreamCorruptedException:在与子级和父级ProcessBuilder通信时写入子级中的标准输出时,流头无效   使用Java(HttpURLConnection)对Restheart进行身份验证(对于Mongodb)   java如何解决Jenkins中的SAXParseException?   java为什么我需要mockito来测试Spring应用程序?   计算sin-cos和tan时缺乏精度(java)   java Hibernate。不同项目中相同一对一映射的不同行为   java图像滑块:如何使用JavaFX将图像放在另一个图像上   java Mockito在使用when时抛出NotAMockException   http Java servlet发送回响应