标签: data-science

如何使用pygal(python)在一个图表中绘制多个图形?

我正在尝试使用两个测量来绘制多个系列(所以它实际上是使用pygal在一个图中的num_of_个时间序列*2个图.数据看起来应该是这样的:

from collections import defaultdict

measurement_1=defaultdict(None,[
  ("component1", [11.83, 11.35, 0.55]), 
  ("component2", [2.19, 2.42, 0.96]),
  ("component3", [1.98, 2.17, 0.17])])

measurement_2=defaultdict(None,[
  ("component1", [34940.57, 35260.41, 370.45]),
  ("component2", [1360.67, 1369.58, 2.69]),
  ("component3", [13355.60, 14790.81, 55.63])])

x_labels=['2016-12-01', '2016-12-02', '2016-12-03']
Run Code Online (Sandbox Code Playgroud)

图形呈现代码是:

from pygal import graph
import pygal
def draw(measurement_1, measurement_2 ,x_labels):
  graph = pygal.Line()
  graph.x_labels = x_labels

  for key, value in measurement_1.iteritems():
      graph.add(key, value)
  for key, value in measurement_2.iteritems():
      graph.add(key, value, secondary=True)

  return graph.render_data_uri()
Run Code Online (Sandbox Code Playgroud)

当前结果是.

上面代码中的问题是,不清楚哪个图表属于测量1,哪个图表属于测量2.其次,我希望在两个测量中看到颜色(或形状)中的每个成分(现在看起来像他们根本没有关系.例如component1 -pink,component2-green,component3-yellow

该图旨在比较一个组件与另外两个组件,并查看测量1和2之间的相关性.

我希望我很清楚.

谢谢你的帮助!

python charts python-2.7 pygal data-science

9
推荐指数
1
解决办法
871
查看次数

当使用不同长度和多个特征的多个时间序列时,如何为LSTM准备数据?

我有一些来自多个用户(nUsers)的数据集.每个用户随机抽样(每个用户的非常数nSamples).每个样本都有许多功能(nFeatures).例如:

nUsers = 3 ---> 3个用户

nSamples = [32,52,21] --->第一个用户被采样32次第二个用户被采样52次等.

nFeatures = 10 --->每个样本的特征数量恒定.

我希望LSTM基于当前特征和同一用户的先前预测产生当前预测.我可以使用LSTM层在Keras中做到这一点吗?我有两个问题:1.每个用户的数据都有不同的时间序列.我该怎么办呢?2.如何处理将先前的预测添加到当前时间特征空间以进行当前预测?

谢谢你的帮助!

python lstm keras data-science

9
推荐指数
1
解决办法
3904
查看次数

Seaborn 条形图上的黑线是什么意思?

我使用seaborn库在条形图上绘制了数据。但在条形的顶部,我可以看到一些黑线。有人能给我解释一下这是什么意思吗?

注意:最后一个柱没有这一行,因为这种情况只有一个条目。 在此输入图像描述

在此输入图像描述

python visualization bar-chart seaborn data-science

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

在熊猫中舍入到最接近的 1000

我已经搜索了 pandas 文档和食谱,很明显您可以使用dataframe.columnName.round(decimalplace).

你如何用更大的数字做到这一点?

例如,我有一列房价,我希望它们四舍五入到最接近的 10000 或 1000 或其他。

df.SalesPrice.WhatDoIDo(1000)? 
Run Code Online (Sandbox Code Playgroud)

python pandas data-science

8
推荐指数
1
解决办法
6828
查看次数

差异pandas.DateTimeIndex没有频率

不规则的时间序列data存储在中pandas.DataFrameDatetimeIndex已设置A。我需要索引中连续条目之间的时间差。

我以为会很简单

data.index.diff()
Run Code Online (Sandbox Code Playgroud)

但是得到了

AttributeError: 'DatetimeIndex' object has no attribute 'diff'
Run Code Online (Sandbox Code Playgroud)

我试过了

data.index - data.index.shift(1)
Run Code Online (Sandbox Code Playgroud)

但是得到了

ValueError: Cannot shift with no freq
Run Code Online (Sandbox Code Playgroud)

在执行此操作之前,我不想先推断或强制执行频率。时间序列中有很大的缺口,将会扩大到大量的时间nan。关键是要首先找到这些差距。

那么,执行此看似简单的操作的干净方法是什么?

python time-series pandas data-science

8
推荐指数
1
解决办法
863
查看次数

熊猫删除行与过滤器

I have a pandas dataframe and want to get rid of rows in which the column 'A' is negative. I know 2 ways to do this:

df = df[df['A'] >= 0]
Run Code Online (Sandbox Code Playgroud)

or

selRows = df[df['A'] < 0].index
df = df.drop(selRows, axis=0)
Run Code Online (Sandbox Code Playgroud)

What is the recommended solution? Why?

python dataframe pandas data-science

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

在 Gridsearch CV 中评分

我刚开始使用 Python 中的 GridSearchCV,但我很困惑这其中的得分是什么。我见过的地方

scorers = {
    'precision_score': make_scorer(precision_score),
    'recall_score': make_scorer(recall_score),
    'accuracy_score': make_scorer(accuracy_score)
}

grid_search = GridSearchCV(clf, param_grid, scoring=scorers, refit=refit_score,
                       cv=skf, return_train_score=True, n_jobs=-1)
Run Code Online (Sandbox Code Playgroud)

使用这些值的目的是什么,即准确率、召回率、评分准确率?

这是否被 gridsearch 用于根据这些评分值为我们提供优化的参数....例如对于最佳精度分数,它会找到最佳参数或类似的东西?

它计算可能参数的准确率、召回率、准确率并给出结果,现在的问题是,如果这是真的,那么它会根据准确率、召回率或准确率选择最佳参数吗?上面的说法是真的吗?

python machine-learning grid-search data-science

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

无法导入 category_encoders 模块

我无法在 python 3 虚拟环境中的 jupyter notebook 中导入category_encoders模块。

错误

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-15-86725efc8d1e> in <module>()
      9 from plotly import graph_objs
     10 from datetime import datetime
---> 11 import category_encoders as ce
     12 
     13 import sklearn

ModuleNotFoundError: No module named 'category_encoders'
Run Code Online (Sandbox Code Playgroud)

“哪个点”的输出

/opt/virtual_env/py3/bin/pip
Run Code Online (Sandbox Code Playgroud)

“pip show category_encoders”的输出是

Name: category-encoders
Version: 1.3.0
Summary: A collection sklearn transformers to encode categorical variables as numeric
Home-page: https://github.com/wdm0006/categorical_encoding
Author: Will McGinnis
Author-email: will@pedalwrencher.com
License: BSD
Location: /opt/virtual_env/py3/lib/python3.6/site-packages
Requires: numpy, pandas, statsmodels, …
Run Code Online (Sandbox Code Playgroud)

python encoding categorical-data data-science

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

如何仅使用 SimpleImputer 或等效工具转换某些列

我正在使用 scikit 库迈出第一步,发现自己需要回填数据框中的某些列。

我已经仔细阅读了文档,但我仍然不知道如何实现这一点。

为了使这更具体,假设我有:

A = [[7,2,3],[4,np.nan,6],[10,5,np.nan]]
Run Code Online (Sandbox Code Playgroud)

我想用平均值而不是第三列填充第二列。如何使用 SimpleImputer(或其他辅助类)执行此操作?

由此演变而来,自然的后续问题是:如何用平均值填充第二列,用常数填充最后一列(显然,仅适用于没有值的单元格)?

python pandas scikit-learn data-science imputation

8
推荐指数
2
解决办法
6067
查看次数

Numpy asanyarray 与 asarray 的任何示例?

我在找一些例子显示之间的差异numpy.asanyarray()numpy.asarray()?在什么情况下我应该专门使用 asanyarray()?

python numpy machine-learning data-science

8
推荐指数
1
解决办法
1063
查看次数