У меня проблемы с объединением 2 простых DataFrames
. Я загружаю первый файл .txt
, содержащий набор данных, а затем еще один файл, содержащий header
предыдущего набора данных.
Сначала я загружаю 2 кадра данных:
df = pd.read_csv(file_dir + file_name, sep = ',', header = None, encoding = 'latin-1', low_memory = False)
df_column_names = pd.read_csv(file_dir + file_name_cols, sep = ',', header = None, encoding = 'latin-1', low_memory = False)
После этого я создаю list
заголовка DataFrame
, сначала перенеся таблицу и преобразовав ее в list
:
list_names = df_column_names.T.values.tolist()
Затем я наконец создаю желаемое DataFrame
:
df.columns = list_names
Но я получаю следующее сообщение об ошибке:
ValueError: Несоответствие длины: ожидаемая ось имеет 26 элементов, новые значения
есть 1 элемент
Размеры моих объектов:
df
размера (204,26) и типа DataFrame
, df_column_names
размера (1,26) и типа DataFrame
, list_names
размера 26 и типа list
.
После прочтения других тем наиболее похожими были здесь и здесь . Тем не менее, после проверки индексов двух моих DataFrames оба выглядят нормально:
In [4]: print(df.index)
RangeIndex(start=0, stop=205, step=1)
In [5]: print(df_column_names.index)
RangeIndex(start=0, stop=1, step=1)
In [6]: len(list_names)
Out[6]: 26
Внешний вид list_names
выглядит следующим образом:
In [7]: list_names
Out[7]:
[['symboling'],
['normalized-losses'],
['make'],
['fuel-type'],
['aspiration'],
['num-of-doors'],
['body-style'],
['drive-wheels'],
['engine-location'],
['wheel-base'],
['length'],
['width'],
['height'],
['curb-weight'],
['engine-type'],
['num-of-cylinders'],
['engine-size'],
['fuel-system'],
['bore'],
['stroke'],
['compression-ratio'],
['horsepower'],
['peak-rpm'],
['city-mpg'],
['highway-mpg'],
['price']]
Заранее спасибо за помощь и советы.