1

我正在尝试使用该BaselineRemoval软件包从一些拉曼光谱中去除背景荧光。在代码文档中,它将输入的首选格式声明为input_array: A pandas dataframe column provided in input as dataframe['input_df_column']. It can also be a Python list object

我的例子——

df = pd.DataFrame(
    {'Patient': [1, 2, 3, 4, 5, 6],
     'Group': [1, 1, 1, 2, 2, 2],
     'Samples': [list(np.random.randn(3).round(2)) for i in range(6)]
    }
)

input_array = df['Samples']
polynomial_degree = 2

baseObj = BaselineRemoval(input_array)
Modpoly_output = baseObj.ModPoly(polynomial_degree)

但是,这给出了错误ValueError: setting an array element with a sequence.

不知道如何进行。

4

1 回答 1

1

一个简单的for循环应该可以做到。

df = pd.DataFrame(
    {'Patient': [1, 2, 3, 4, 5, 6],
     'Group': [1, 1, 1, 2, 2, 2],
     'Samples': [list(np.random.randn(3).round(2)) for i in range(6)]
    }
)

input_array = df['Samples']
polynomial_degree = 2

for row in input_array:
    print(BaselineRemoval(row).ModPoly(polynomial_degree))
于 2020-08-28T14:51:31.800 回答