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第三方库


热门话题
jsp中的java显示图像(web商店)   如何在java中通过数组的键访问它,并将数组存储在hashmap中   实现给定接口的类的java AspectJ静态类型间声明   java HttpUrlConnection无法上载文件   爪哇:日期(第二天)   Java Selenium FirefoxDriver忽略给定的代理设置   Java JPA ORM映射   java如何制作Netbeans拥有的桌面窗格   java Eclipse:Eclipse启动器无法找到其配套的共享库   java如何检查数据库是否以只读模式运行?   java如何使用多个主类运行spring boot项目   java无法将Jconsole连接到Websphere SSL   java是否可以将数据时间选择器对话框限制为仅以小时半小时为单位显示时间?   java如何使用应用程序。javax中的属性值。验证注释   java如何修复集合的compareTo方法?   Java 7 NIO/JPathWatch在Windows中移动目录时出现问题   java项目反应器将两个发布服务器有状态地组合起来并发出结果   JavaSpring需要使用注释进行依赖注入