Data example (not real data) can be also seen here我有一个3x500的数据集,列名称为:Job Level(数值)、Job Code(category)和Stock Value(numeric)。我使用线性回归来拟合股票价值,基于职务级别,按职务代码分组。 例如:
职务代码职务级别职务库存值
20 1生产工程师
20 2生产工程师
20 3生产工程师6985
20 4生产工程师7852
205生产工程师
30 1生产工程师
302物流分析员
30 3物流分析员4962
30 4物流分析员22613
30 5物流分析员31689
401物流分析员
这是我所做的。如何查看添加了预测值的数据集列(原始数据)。现在我只能看到预测。我不能把他们连在一起,因为:
情况如下:当我第一次启动代码时,我的df_非完整形状=(268,4)然后在for循环my df之后_非完整形状=(4,4)然后是df_结果.形状=(89,2)。结果,我不能加入他们。在
> import pandas as pd from sklearn.linear_model import LinearRegression
> df = pd.read_excel("stats.xlsx")
> df_nonull=df.dropna()
>
> model= LinearRegression() groups = [] results = [] level = []
>
> for (group, df_nonull) in df_nonull.groupby('Job Code'):
> X=df_nonull[['Job Level']]
> y=df_nonull[['Stock Value']]
> model.fit(X,y)
> coefs = list(zip(X.columns, model.coef_))
> results.append(model.predict(735947)[0])
> groups.append(group)
>
> df_results = pd.DataFrame({'Job Code':groups, 'prediction':results})
>
> print df_results.head(50)
仅供参考,我这里的主要目标是在没有NaN(df_nonull)的数据集中运行一个回归模型,并将线性回归系数应用于整个数据(对于股票价值,y)(df)。这与我的要求无关,但我想提供一些关于我为什么要这样做的回溯信息。在
可以使用下面的命令创建一个包含数据集值和预测值的单个数据帧。在
df_nonull.join(df_results,how="outer")
假设输入数据和预测序列具有一致的索引。我想你需要的是
pd.concat
。在我将特别推荐pandas(0.20.1),特别是关于concatenation的这一节。在
相关问题 更多 >
编程相关推荐