axis等于一个语法错误

时间:2018-06-06 03:11:19

标签: python pandas matplotlib

我想使用来自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函数来生成方程式!

1 个答案:

答案 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)

这必须修复语法错误