小编Ren*_*née的帖子

从Pandas DataFrame创建时间序列

我有一个具有各种属性的数据框,包括一个datetime列。我想提取属性列之一作为由datetime列索引的时间序列。这似乎非常简单,而且我可以用所有熊猫文档所示的随机值构造时间序列。但是当我从数据框中这样做时,我的属性值都将转换为NaN。

这是一个类似的例子。

df = pd.DataFrame({'a': [0,1], 'date':[pd.to_datetime('2017-04-01'),
                                       pd.to_datetime('2017-04-02')]})
s = pd.Series(df.a, index=df.date)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,序列将具有正确的时间序列索引,但是所有值均为NaN。

我可以按照以下两个步骤来做系列,但是我不明白为什么要这样做。

s = pd.Series(df.a)
s.index = df.date
Run Code Online (Sandbox Code Playgroud)

我想念什么?我认为它与系列引用有关,但根本不理解为什么值会归入NaN。

我也可以通过复制索引列来使其工作。

s = pd.Series(df.a, df.date.copy())
Run Code Online (Sandbox Code Playgroud)

python indexing time-series pandas

4
推荐指数
1
解决办法
7474
查看次数

SciKit学习中的多类Logistic回归

对于多类案件,我在正确调用Scikit的Logistic回归方面遇到了麻烦.我正在使用lbgfs解算器,我确实将multi_class参数设置为multinomial.

我不清楚如何在拟合模型时传递真正的类标签.我假设它与随机森林分类器多类相似/相同,在那里传递[n_samples,m_classes]数据帧.但是,在执行此操作时,我收到数据形状不佳的错误.ValueError:错误的输入形状(20,5) - 在这个小例子中,有5个类,20个样本.

在检查时,fit方法的文档说真值是作为[n_samples]传递的 - 它匹配我得到的错误 - 但是,我不知道如何训练具有多个类的模型.所以,这是我的问题:如何将完整的类标签传递给fit函数?

我一直无法在互联网上找到示例代码进行建模,也没有在StackOverflow上找到这个问题..但我确信有人必须知道该怎么做!

在下面的代码中,train_features = [n_samples,nn_features],truth_train = [n_samples,m_classes]

clf = LogisticRegressionCV(class_weight='balanced', multi_class='multinomial', solver='lbfgs')
clf.fit(train_features, truth_train)
pred = clf.predict(test_features)
Run Code Online (Sandbox Code Playgroud)

python machine-learning scikit-learn logistic-regression

2
推荐指数
1
解决办法
1万
查看次数