python - 将 x 和 y 数组的所有组合输入函数 f(x,y)

标签 python numpy spyder

Python 新手,正在尝试自学该语言。我了解 R 和 SAS 的基础知识,但我仍在学习如何操作数组并学习 spy 程序中的基本 python。

我真的很喜欢你的帮助,将 x 和 y 都输入到函数 f(x,y) 中(例如,为了简单起见,sin(xy))。

通常在 R 中,我会通过扩展 x 和 y 的值来创建一个数据框以创建每个组合(每行唯一的 x 和 y),然后通过我的函数运行这些行并在我的数据框中附加一个新列,以及使用点阵等绘制等高线图。

对于相同的函数 f(x,y) = z = sin(x,y),在 python 中我已经尝试过

x = np.linspace(0, 1, 100)
y = np.linspace(-1, 11, 100)
z= np.equ(x,y)

这显然行不通,但我不确定该怎么做。

这是在尝试操作以下代码后尝试的:Matplotlib line plot of x values against y :

import numpy as np
import matplotlib.pyplot as plt

fig,ax = plt.subplots(1)

# create some x data and some integers for the y axis
x = np.array([3,5,2,4])
y = np.arange(4)

# plot the data
ax.plot(x,y)

# tell matplotlib which yticks to plot 
ax.set_yticks([0,1,2,3])

# labelling the yticks according to your list
ax.set_yticklabels(['A','B','C','D'])

感谢您的帮助!

最佳答案

您需要使用itertools.product在这种情况下。它可用于生成包含所有可能组合的列表。

例如,如果 A = [1, 2]B = [3, 4]

itertools.product 将返回一个可迭代的对象,它可以存储在这样的数组中,

C = list(itertools.product(A, B))
# C = [(1,3), (1,4), (2,3), (2,4)]

关于python - 将 x 和 y 数组的所有组合输入函数 f(x,y),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40685659/

相关文章:

python - Angular 代码与我的 python django 应用程序配合不佳

python - Anaconda/Spyder 中的 oct2py 无法识别 Octave 音程

python - 检查用python编写的配置单元udf中的错误

python - 在一个线程中接收套接字数据,在另一个线程中写入数据——python

python - 在固定时间间隔后查找最后一个可用时间戳 - pandas 或 numpy

python-3.x - 不支持的格式字符串传递给 numpy.ndarray

python - Gekko 数组与 Numpy 数组的内积

python - Spyder、Python IDE 启动代码导致 GUI 崩溃

python - 在多个模式之前查找数字序列的正则表达式,放入新列(Python、Pandas)

并行的 Python 线性回归 - Scoop