python - ValueError:通过了 5 列,传递的数据有 2 列
问题描述
i_list = []
rec_annotations = []
rec_annotations_dict = {}
for s in filenames:
(i,a) = Extract_Annotation_Data(s, root)
i_list.append(i)
rec_annotations.append(a)
rec_annotations_dict[s] = a
recording_info = pd.concat(i_list, axis = 0)
recording_info.head()
那有什么问题?我收到以下错误。请帮我!
如果您需要任何详细信息,请添加评论:
注意:'Extract_Annotation_Data' 是一个函数
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!
AssertionError Traceback (most recent call last)
c:\users\user\appdata\local\programs\python\python36\lib\site-packages\pandas\core\internals\construction.py in _list_to_arrays(data, columns, coerce_float, dtype)
563 try:
--> 564 columns = _validate_or_indexify_columns(content, columns)
565 result = _convert_object_array(content, dtype=dtype, coerce_float=coerce_float)
c:\users\user\appdata\local\programs\python\python36\lib\site-packages\pandas\core\internals\construction.py in _validate_or_indexify_columns(content, columns)
688 raise AssertionError(
--> 689 f"{len(columns)} columns passed, passed data had "
690 f"{len(content)} columns"
AssertionError: 5 columns passed, passed data had 2 columns
The above exception was the direct cause of the following exception:
ValueError Traceback (most recent call last)
<ipython-input-81-893d2a3a2aed> in <module>
3 rec_annotations_dict = {}
4 for s in filenames:
----> 5 (i,a) = Extract_Annotation_Data(s, root)
6 i_list.append(i)
7 rec_annotations.append(a)
<ipython-input-71-6077f5c43880> in Extract_Annotation_Data(file_name, root)
1 def Extract_Annotation_Data(file_name, root):
2 tokens = file_name.split('_')
----> 3 recording_info = pd.DataFrame(data = [tokens], columns = ['Patient number', 'Recording index', 'Chest location','Acquisition mode','Recording equipment'])
4 recording_annotations = pd.read_csv(os.path.join(root, file_name + '.txt'), names = ['Start', 'End', 'Crackles', 'Wheezes'], delimiter= '\t')
5 return recording_info, recording_annotations
c:\users\user\appdata\local\programs\python\python36\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy)
507 if is_named_tuple(data[0]) and columns is None:
508 columns = data[0]._fields
--> 509 arrays, columns = to_arrays(data, columns, dtype=dtype)
510 columns = ensure_index(columns)
511
c:\users\user\appdata\local\programs\python\python36\lib\site-packages\pandas\core\internals\construction.py in to_arrays(data, columns, coerce_float, dtype)
522 return [], [] # columns if columns is not None else []
523 if isinstance(data[0], (list, tuple)):
--> 524 return _list_to_arrays(data, columns, coerce_float=coerce_float, dtype=dtype)
525 elif isinstance(data[0], abc.Mapping):
526 return _list_of_dict_to_arrays(
c:\users\user\appdata\local\programs\python\python36\lib\site-packages\pandas\core\internals\construction.py in _list_to_arrays(data, columns, coerce_float, dtype)
565 result = _convert_object_array(content, dtype=dtype, coerce_float=coerce_float)
566 except AssertionError as e:
--> 567 raise ValueError(e) from e
568 return result, columns
569
ValueError: 5 columns passed, passed data had 2 columns
解决方案
推荐阅读
- ios - iOS UISplitViewController - 从紧凑布局更改为常规布局时如何恢复导航状态
- reactjs - 我在反应中遇到了环境变量
- iis - 重写 URL 以指向 IIS 中的另一个站点
- c# - 转换 DataRow 项目数组的特定元素?
- scikit-learn - Scikit-learn KNeighborsClassfier 自定义权重的形状是什么?
- android - 即使在 MediaScannerConnection.scanFile() 之后,存储在 getExternalFilesDir() 目录中的图像在电话库中也不可见
- visual-studio-code - VSCode 删除多行注释快捷方式
- r - 单独的列指示两个不同行中两个不同日期的结果
- flutter - flutter_inappwebview 动态 URL 变化
- javascript - 如何使用量角器从第一行获取数据