我想使用来自txt文件的值来创建一个阶梯函数图,以运行将生成图的方程。
我的txt文件类似于
x0 x1 y0 y1
0.000 0.110 -0.000050 -0.046207
0.110 0.143 -0.046206 -0.049596
0.143 1.000 -0.049596 0.000000
我想使用的方法是
1. (((y1-yo)/(x1-x0)*(1-x0))+y0)
2. (-u + K/2)/e
我在轴上发生错误= 1说,
df['u'] = df.apply(lambda row: (((row.y1-row.y0)/(row.x1-row.x0)*(1-row.x0))+row.y0, axis=1)
^
SyntaxError: invalid syntax
以下是我的剧本
import numpy as np
import matplotlib.pyplot as plt
import csv
import pandas as pd
x=[]
y=[]
K=-2.69028905
e=1
df = pd.read_csv('vol_values.txt', delim_whitespace=True)
print(df)
df['u'] = df.apply(lambda row: (((row.y1-row.y0)/(row.x1-row.x0)*(1-row.x0))+row.y0, axis=1)
df['V'] = df.apply(lambda row: -row.u + K/2, axis=1)
df
print(df)
x=df['x in KxC']
y=df['Voltage']
plt.step(x,y)
如果我的代码有任何可疑之处,请告诉我。 我只想使用上面生成的代码使用apply和lambda row函数来生成方程式!
答案 0 :(得分:0)
在" + row.y0 "之后,您错过了匹配的大括号。 。它应该是" + row.y0)":
df['u'] = df.apply(lambda row: (((row.y1-row.y0)/(row.x1-row.x0)*(1-row.x0))+row.y0 ) , axis=1)
这必须修复语法错误