После горячего кодирования 2 различных функций, а затем объединения результирующих столбцов с горячим кодированием с исходным кадром данных в Pandas у меня есть 3 кадра данных.
Первый - это OneHotZips (который содержит мою функцию # 1).
Вторым является OneHotYearBuilt (то же самое, то есть моя функция # 2 в виде одного горячо закодированного столбца в кадре данных).
Наконец, у меня есть подмножество, которое является двумя предыдущими, соединенными с исходным кадром данных. Конкретнее, subset.keys () - это:
Index(['lat_z', 'lon_z', 'price_z', 'lot_z', 'LotSizeSquareFeet',
'TotalBedrooms', 'NormalizedBathCount', 'PropertyAddressLatitude',
'PropertyAddressLongitude', 'MonthsToSale',
...
'year_built_2008.0', 'year_built_2009.0', 'year_built_2010.0',
'year_built_2011.0', 'year_built_2012.0', 'year_built_2013.0',
'year_built_2014.0', 'year_built_2015.0', 'year_built_2016.0',
'year_built_2017.0'],
dtype='object', length=477)
Я хотел бы использовать только некоторые из этих столбцов в новом фрейме данных с именем downsampled_z.
Мне удалось получить строку строк? с
'"' + '", "'.join(list(OneHotZips.columns.values)) + '"'
Похоже:
'"year_built_1882.0", "year_built_1900.0", ... "year_built_2017.0"'
Кажется, что я так хочу, но следующее не работает:
downsampled_z = subset[["lat_z", "lon_z", "price_z", "lot_z", "TotalBedrooms", "NormalizedBathCount", "built_prct",
'"' + '", "'.join(list(OneHotZips.columns.values)) + '"',
'"' + '", "'.join(list(OneHotYearBuilt.columns.values)) + '"']]
Это приводит к ошибке
'[\'"year_built_1882.0", "year_built_1900.0", ... "year_built_2017.0"\'] not in index
Другие подходы, которые я использовал, такие как
[str(x) for x in list(OneHotZips.columns.values)]
результат в
ValueError: setting an array element with a sequence