我正在尝试从文件夹加载csv文件,但是我需要对每个文件应用几个自定义步骤,包括删除默认的PromoteHeaders
。
我有一个自定义查询,可以成功加载单个文件。如何将其转换为可加载文件夹中所有文件的查询?
默认情况下,File.folder
的“ promoteHeaders”由于缺少列名(我的自定义查询已解决)而弄乱了我的数据。
答案 0 :(得分:0)
创建读取文件特定模板的函数的最简单方法是实际执行此操作。只需创建M即可读取它,然后右键单击实体将其转换为函数。
之后,转换M非常简单,因此它使用参数。
您可以创建一个空白查询并以此替换代码,例如,通过更多步骤进行自定义以满足您的文件要求。
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-37-a1a29a8b3623> in <module>()
----> 1 base_learner.fit(X)
D:\Anaconda3\lib\site-packages\sklearn\pipeline.py in fit(self, X, y, **fit_params)
263 This estimator
264 """
--> 265 Xt, fit_params = self._fit(X, y, **fit_params)
266 if self._final_estimator is not None:
267 self._final_estimator.fit(Xt, y, **fit_params)
D:\Anaconda3\lib\site-packages\sklearn\pipeline.py in _fit(self, X, y, **fit_params)
228 Xt, fitted_transformer = fit_transform_one_cached(
229 cloned_transformer, Xt, y, None,
--> 230 **fit_params_steps[name])
231 # Replace the transformer of the step with the fitted
232 # transformer. This is necessary when loading the transformer
D:\Anaconda3\lib\site-packages\sklearn\externals\joblib\memory.py in __call__(self, *args, **kwargs)
327
328 def __call__(self, *args, **kwargs):
--> 329 return self.func(*args, **kwargs)
330
331 def call_and_shelve(self, *args, **kwargs):
D:\Anaconda3\lib\site-packages\sklearn\pipeline.py in _fit_transform_one(transformer, X, y, weight, **fit_params)
612 def _fit_transform_one(transformer, X, y, weight, **fit_params):
613 if hasattr(transformer, 'fit_transform'):
--> 614 res = transformer.fit_transform(X, y, **fit_params)
615 else:
616 res = transformer.fit(X, y, **fit_params).transform(X)
D:\Anaconda3\lib\site-packages\sklearn\compose\_column_transformer.py in fit_transform(self, X, y)
445 self._validate_transformers()
446 self._validate_column_callables(X)
--> 447 self._validate_remainder(X)
448
449 result = self._fit_transform(X, y, _fit_transform_one)
D:\Anaconda3\lib\site-packages\sklearn\compose\_column_transformer.py in _validate_remainder(self, X)
299 cols = []
300 for columns in self._columns:
--> 301 cols.extend(_get_column_indices(X, columns))
302 remaining_idx = sorted(list(set(range(n_columns)) - set(cols))) or None
303
D:\Anaconda3\lib\site-packages\sklearn\compose\_column_transformer.py in _get_column_indices(X, key)
654 return list(np.arange(n_columns)[key])
655 else:
--> 656 raise ValueError("No valid specification of the columns. Only a "
657 "scalar, list or slice of all integers or all "
658 "strings, or boolean mask is allowed")
然后为每个以内容为参数的文件调用自定义功能。