使用来自tsfresh

时间:2019-03-06 12:58:32

标签: python python-3.x numpy casting

尝试Python包tsfresh我在第一步中遇到了问题。给定一个系列,如何(自动)为其制作功能?该代码段会根据我尝试的部分而产生不同的错误。

import tsfresh
import pandas as pd
import numpy as np
#tfX, tfy = tsfresh.utilities.dataframe_functions.make_forecasting_frame(pd.Series(np.random.randn(1000)/50), kind='float64', max_timeshift=50, rolling_direction=1)
#rf = tsfresh.extract_relevant_features(tfX, y=tfy, n_jobs=1, column_id='id')
tfX, tfy = tsfresh.utilities.dataframe_functions.make_forecasting_frame(pd.Series(np.random.randn(1000)/50), kind=1, max_timeshift=50, rolling_direction=1)
rf = tsfresh.extract_relevant_features(tfX, y=tfy, n_jobs=1, column_id='id')

错误在第一种情况下

  

“”“追溯(最近一次通话):文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ multiprocessing \ pool.py”,行   119,在工人中           结果=(真,函数(* args,** kwds))文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ tsfresh \ utilities \ distribution.py”,   第38行,在_function_with_partly_reduce中           结果=列表(itertools.chain.from_iterable(结果))文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ tsfresh \ utilities \ distribution.py”,   第37行,在           结果=(map_function(chunk,** kwargs)for chunk_list中的块)文件   “ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ tsfresh \ feature_extraction \ extraction.py”,   _do_extraction_on_chunk中的第358行           返回列表(_f())文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ tsfresh \ feature_extraction \ extraction.py”,   _f中的第350行           结果= [(“”,func(data))]文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ tsfresh \ feature_extraction \ feature_calculators.py”,   第193行,在variance_larger_than_standard_deviation中           y = np.var(x)文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ numpy \ core \ fromnumeric.py”,   第3157行,在var中           ** kwargs)文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ numpy \ core_methods.py”,   _var中的第110行           arrmean,rcount,out = arrmean,casting ='unsafe',subok = False)TypeError:/的不支持的操作数类型:'str'和'int'“”“

在第二种情况下

  

“”“追溯(最近一次通话):文件   “ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ multiprocessing \ pool.py”,行   119,在工人中       结果=(真,函数(* args,** kwds))文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ tsfresh \ utilities \ distribution.py”,   第38行,在_function_with_partly_reduce中       结果=列表(itertools.chain.from_iterable(结果))文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ tsfresh \ utilities \ distribution.py”,   第37行,在       结果=(map_function(chunk,** kwargs)for chunk_list中的块)文件   “ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ tsfresh \ feature_extraction \ extraction.py”,   _do_extraction_on_chunk中的第358行       返回列表(_f())文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ tsfresh \ feature_extraction \ extraction.py”,   _f中的第345行       结果= func(数据,参数=参数列表)文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ tsfresh \ feature_extraction \ feature_calculators.py”,   第1752行,在Friedrich_coefficients中       coeff = _estimate_friedrich_coefficients(x,m,r)文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ tsfresh \ feature_extraction \ feature_calculators.py”,   第145行,在_estimate_friedrich_coefficients中       result.dropna(inplace = True)文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ frame.py”,   在dropna的4598行       结果= self.loc(轴=轴)[掩码]文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ indexing.py”,   第1500行,位于 getitem       返回self._getitem_axis(可能是可调用的,axis = axis)文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ indexing.py”,   第1859行,在_getitem_axis中       如果is_iterator(key):文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ dtypes \ inference.py”,   is_iterator中的第157行       返回hasattr(obj,' next ')文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ generic.py”,   第5065行,位于 getattr       如果self._info_axis._can_hold_identifiers_and_holds_name(name):文件   “ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ indexes \ base.py”,   第3984行,在_can_hold_identifiers_and_holds_name中       在自我文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ indexes \ category.py”中返回名称,   第327行,包含       返回contains(self,key,container = self._engine)文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ arrays \ categorical.py”,   第188行,包含       loc = cat.categories.get_loc(key)文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ indexes \ interval.py”,   第770行,位于get_loc中       start,stop = self._find_non_overlapping_monotonic_bounds(key)文件   “ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ indexes \ interval.py”,   第717行,位于_find_non_overlapping_monotonic_bounds中       开始= self._searchsorted_monotonic(key,'left')文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ indexes \ interval.py”,   _searchsorted_monotonic中的第681行       返回sub_idx._searchsorted_monotonic(标签,侧面)文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ indexes \ base.py”,   第4755行,在_searchsorted_monotonic中       返回self.searchsorted(label,side = side)文件“ C:\ Users \ user \ Anaconda3 \ envs \ env1 \ lib \ site-packages \ pandas \ core \ base.py”,   第1501行,在搜索中排序       返回self._values.searchsorted(value,side = side,sorter = sorter)TypeError:无法将数组数据从dtype('float64')转换为   dtype('

np。版本,tsfresh。版本为(“ 1.15.4”,“未知”)。我使用conda(可能来自conda-forge)安装了tsfresh。我在Windows 10上。将另一个内核与np。版本,tsfresh。版本('1.15.4','0.11.2')一起使用会产生相同的结果。

尝试timeseries_forecasting_basic_example.ipynb中的前几个单元格也会产生转换错误。

1 个答案:

答案 0 :(得分:1)

解决了。问题是conda(-forge)上的版本或依赖项之一。因此,结合使用“ conda卸载tsfresh”,“ conda安装patsy将来的六个tqdm”和“ pip安装tsfresh”的组合就可以了。