Я работаю с двумя Pandas dataframes
. В первом dataframe
. Я заинтересован в сопоставлении ProductID
с CompanyName
, который приобрел продукт.
Для того, чтобы решить эту проблему соответствия. Сначала я создаю empty dictionary
, а затем loop
через rows
из dataframe
и update
dictionary
, как показано ниже
Slice = {}
for i,j in df.iterrows():
Slice.update({j.ProductID:j.CompanyName})
Теперь я пытаюсь построить productID
и поставить label
компании, с которой ProductID
связан
plt.figure(figsize=(30,25))
color = ["#FF0000", "#00FF00", "#008080", "#FF00FF",
"#FFD088", "#B3AFB2", "#A9CCE3", "#3333eb"]
figure1 = df.ProductID.value_counts().nlargest(8).plot(kind="bar", color=color)
figure1.tick_params(labelsize=30)
Tar_1 = [Slice[124],Slice[920],Slice[162],Slice[166], Slice[165], Slice[923],Slice[1759], Slice[476]]
plt.legend(handles=Tar_1)
Я получаю следующую ошибку: AttributeError: 'str' object has no attribute 'get_label'
Пожалуйста, как я могу решить эту проблему? Или у вас есть лучший подход? Я думал о mapping
productID
из созданного словаря, но созданный столбец сгенерировал все NaN
Просьба сообщить.