Это мой первый ТАК вопрос после трех дней самостоятельного изучения Python, поэтому, пожалуйста, будьте снисходительны.
Я объединил четыре кадра данных:
frames = [dfLocationID, dfDimensions, dfCategories, dfTags]
result = pd.concat(frames,
ignore_index=True,
sort=False)
Чтобы получить это:
Location ID Dimensions Categories Tags
0 1000.0 NaN NaN NaN
1 NaN 3,000 sq ft NaN NaN
2 NaN NaN * In the Zone NaN
3 NaN NaN Apartment NaN
4 NaN NaN Loft NaN
5 NaN NaN NaN Bohemian
6 NaN NaN NaN Colorful
7 NaN NaN NaN Eclectic Quirky
8 NaN NaN NaN Kitchen
9 NaN NaN NaN Living Room
10 NaN NaN NaN Piano
11 NaN NaN NaN Wood Floor
Я хотел бы добиться этого:
Location ID Dimensions Item Data
0 1000.0 3,000 sq ft Categories * In the Zone
1 1000.0 3,000 sq ft Categories Apartment
2 1000.0 3,000 sq ft Categories Loft
3 1000.0 3,000 sq ft Tags Bohemian
4 1000.0 3,000 sq ft Tags Colorful
5 1000.0 3,000 sq ft Tags Eclectic Quirky
6 1000.0 3,000 sq ft Tags Kitchen
7 1000.0 3,000 sq ft Tags Living Room
8 1000.0 3,000 sq ft Tags Piano
9 1000.0 3,000 sq ft Tags Wood Floor
Тогда я попробовал это:
dfTemp = ((dfLocationID.join(dfDimensions, how='outer')).join(dfCategories, how='outer')).join(dfTags, how='outer')
Чтобы получить это:
Location ID Dimensions Categories Tags
0 1000.0 3,000 sq ft * In the Zone Bohemian
1 NaN NaN Apartment Colorful
2 NaN NaN Loft Eclectic Quirky
3 NaN NaN NaN Kitchen
4 NaN NaN NaN Living Room
5 NaN NaN NaN Piano
6 NaN NaN NaN Wood Floor
Сейчас я пытаюсь преобразовать последние два столбца в строки:
dfFinal = dfTemp.melt(id_vars=["Location ID", "Dimensions"],
var_name="Item",
value_name="Data")
Но я получаю это:
Location ID Dimensions Item Data
0 1000.0 3,000 sq ft Categories * In the Zone
1 NaN NaN Categories Apartment
2 NaN NaN Categories Loft
3 NaN NaN Categories NaN
4 NaN NaN Categories NaN
5 NaN NaN Categories NaN
6 NaN NaN Categories NaN
7 1000.0 3,000 sq ft Tags Bohemian
8 NaN NaN Tags Colorful
9 NaN NaN Tags Eclectic Quirky
10 NaN NaN Tags Kitchen
11 NaN NaN Tags Living Room
12 NaN NaN Tags Piano
13 NaN NaN Tags Wood Floor
Есть идеи о том, как очистить данные?Кроме того, мне придется перебирать различные идентификаторы местоположений, и количество значений в категориях и тегах не будет постоянным.
Спасибо.