使用 pandas 中的方程式

using equations in pandas

我有一个看起来像块的图形,我想把它刻成一个圆。我有一个包含两列的数据框,一个 xy 散点图。我收到变量 'eq = "(x-2.5)**2 + (y-2.5)**2"' 的错误,但我认为我是在遵循其他地方的指南。为什么它不喜欢粗体线?谢谢!

import pandas as pd
data = pd.read_csv('grid.csv')
df = pd.DataFrame(data, columns = [ 'x','y']

eq = "(x-2.5)**2 + (y-2.5)**2"
refined = df[ df.eval(eq)  = 4]

refined.to_csv('gridoutput.csv')

我相信你有两个问题:

在代码中,我相信你想做这样的事情:

import pandas as pd

data = pd.read_csv('grid.csv')
df = pd.DataFrame(data, columns = ['x','y'])

equation_x = 'Some transformation based on y' # f(y) = x
equation_y = 'Some transformation based on x' # f(x) = y

df['new_x'] = df.eval(equation_x)
df['new_y'] = df.eval(equation_y)

df.to_csv('gridoutput.csv')

第二个问题是你必须更具体,因为你想为 'x' 做一个转换,为 'y' 做一个转换。此外,结果有两个解决方案。因为对于 'y' 的每个点,您将找到 2 个可能的 'x'.

你更了解你的数据,然后你可以找到适合你数据的 x 和 y 的精确转换。 此外,对于低于或高于 x 或 y = 2.5(圆心)的情况,您可能必须使用 'if'。

希望对您有所帮助。