[FIXED] Können Sie Dataframe-Werte als Matplotlib Ylabel verwenden?

Ausgabe

Ich möchte einen Wert aus einer bestimmten Spalte in meinem Pandas-Datenrahmen als Beschriftung der Y-Achse verwenden. Der Grund dafür ist, dass sich das Etikett je nach Maßeinheit (UoM) ändern kann – es könnte sich um kg, Anzahl der Beutel usw. handeln.

#create function using plant and material input to chart planned and actual manufactured quantities

def filter_df(df, plant: str = "", material: str = ""):
    output_df = df.loc[(df['Plant'] == plant) & (df['Material'].str.contains(material))].reset_index()
    return output_df['Planned_Qty_Cumsum'].plot.area (label = 'Planned Quantity'),\
    output_df['Goods_Receipted_Qty_Cumsum'].plot.line(label = 'Delivered Quantity'),\
    plt.title('Planned and Deliverd Quanties'),\
    plt.legend(),\
    plt.xlabel('Number of Process Orders'),\
    plt.ylabel(output_df['UoM (of GR)']),\
    plt.show()

    
#run function
filter_df(df_yield_data_formatted,'*plant*','*material*')

Beim Ausführen der Funktion erhalte ich folgende Fehlermeldung:

ValueError: Der Wahrheitswert einer Serie ist mehrdeutig. Verwenden Sie a.empty, a.bool(), a.item(), a.any() oder a.all().

Lösung

Ja, das können Sie, aber so, wie Sie es tun, sagen Sie alle Werte des Datenrahmens in dieser Spalte und Sie sollten angeben, welche Zeile und Spalte Sie für die Beschriftung wünschen, verwenden Sie zum Beispiel iloc und es wird funktionieren.

plt.ylabel(df.iloc[2,1])


Beantwortet von –
Dini


Antwort geprüft von –
David Goodson (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like

[FIXED] seaborn.boxplot und großformatiger Datenrahmen

Ausgabe Ich habe so eine DataFrame: Ich habe diese beiden Anweisungen nacheinander ausprobiert: sns.boxplot([dataFrame.mean_qscore_template,dataFrame.mean_qscore_complement,dataFrame.mean_qscore_2d]) sns.boxplot(x = "mean_qscore_template", y=…