首页 > 解决方案 > 如何从 Python 中的列表中提取值并放入数据框中

问题描述

我已经训练了一个模型并要求模型产生系数:

modelcoeffs = model.fit(X_train, y_train).coef_
coeffslist = list(modelcoeffs)

例如,这让我受益:

print(coeffslist):
[0.17005542 0.72965947 0.6833308  0.02509676]

我试图将这 4 个系数分开,但它们似乎不是单独的元素?

有谁知道如何将这些分成四个数字?

我试图得到:

df['1'] = coeffslist[0]
df['2'] = coeffslist[1]
df['3'] = coeffslist[2]
df['4'] = coeffslist[3]

但它给了我NaNdf. 有没有人有任何想法?谢谢!

更新

我基本上是想让系数附加到df

print(df)

  1             2         3         4    
....         .....      .....      .....
0.17005542 0.72965947 0.6833308  0.02509676

标签: pythonpandas

解决方案


您可以将 [0.17005542 0.72965947 0.6833308 0.02509676] 转换为字符串,将其拆分为空间,再次转换为浮点数,然后附加到数据帧。

str_list= str(coeffslist[0])
float_list= [float(x) for x in str_list.split()]

df=pd.DataFrame(columns=['1','2','3','4'])
a_series = pd.Series(float_list, index = df.columns)
df = df.append(a_series, ignore_index=True)

推荐阅读