![](/img/trans.png)
[英]How to pass a function with more than one argument to pandas converters?
[英]How to pass more than one element of a list to argument in a custom function - Python
我創建了一個函數,它是 statsmodels 包的統計回歸函數的包裝器。 我可以將一個因變量和一個自變量傳遞給參數參數而不會出錯。 當我嘗試傳遞多個列(自變量)時出現問題,即 exog =['indvar1','indvar2'] 我嘗試將數據框列轉換為列表
pred = df.columns.tolist()
pred = df.columns.values.tolist()
但我仍然得到同樣的錯誤。
The error is : KeyError: "None of [Index([('TARP', 'Lehman', 'Recovery_Act', 'T10Y2Y', 'DFF')], dtype='object')] are in the [columns]"
這個功能:
Bob1 = sect_arma1.cv(model_data,endog ='Technology',exog = pred)
根據錯誤描述,在這一行內部失敗。:
280 --> exog = X[[exog]][1:Train_size]
請注意,endog 參數不會失敗,因為一個引用的變量有效,例如“技術”
使用下面描述的適合您需要的任何方法。 對於下面的所有示例,我將使用在此解決方案末尾制作的虛擬數據。
獲取列名列表:
您可以通過
df.columns.tolist()
獲取列名列表。
df.columns.tolist()
輸出:
['x', 'y']
以 numpy 數組的形式獲取數據:
您可以按如下方式獲取 numpy 數組中的數據。
df.to_numpy()
輸出:
array([[ 18, 120],
[ 20, 110],
[ 22, 120],
[ 25, 135]])
獲取列的數據作為列表:
您可以按如下方式以列表形式獲取某一列的數據。
df['x'].tolist()
輸出:
[18, 20, 22, 25]
我們先制作一些虛擬數據來解釋一些事情。
import pandas as pd
import numpy as np
df = pd.DataFrame({'x': [18,20,22,25], 'y': [120,110,120,135]})
print(df)
輸出:
x y
0 18 120
1 20 110
2 22 120
3 25 135
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.