我有一个包含一栏(R)和30栏(I 1:1 30)的csv文件。
我编写了一个函数,将其作为x_data和y_data调用“ R”和“ I 1”,如下所示:
df1 = pd.DataFrame.from_csv(filepath, index_col = None)
x_data = df1['R']
y_data = df1['I 1']
def find_peaks(grad):
peaks=[]
i = 0
while i < len(grad[:-1]):
if grad[i] > 0:
start = i
peak_index = find_peak(start, grad)
end = find_end(peak_index, grad)
area = np.trapz(y_data[start:end], x_data[start:end])
peaks.append((x_data[peak_index], y_data[peak_index], area))
i = end - 1
else:
i+=1
return peaks
此函数查找峰并返回其峰面积。
我如何针对30个不同的'I'作为y_data但与'x_data相同的'R'运行
最佳答案
您可以将x_data
和y_data
作为函数的参数,然后从1到30循环,将函数应用于每个I <num
column>。范例-
df1 = pd.DataFrame.from_csv(filepath, index_col = None)
def find_peaks(grad, x_data, y_data):
...
...
for i in range(1,31):
result = find_peaks(grad,df1['R'], df1['I {}'.format(i)])
#Do whatever you want with the result