使用 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'。
希望对您有所帮助。
我有一个看起来像块的图形,我想把它刻成一个圆。我有一个包含两列的数据框,一个 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'。
希望对您有所帮助。