Grundstück pandas DataFrame mit Bedingung Spalten
Ich habe diese Art von pandas.DataFrame. "a","b" sind die Bedingungen, wenn man "x" und "y".
df = pd.DataFrame([[10,20,0,.1], [10,20,1,.5], [100,200,0,.33], [100,200,1,.11]], columns=["a", "b", "x", "y"])
df
Muss ich plot-Diagramme der (x,y) - Säule mit Bezug auf den gleichen Zustand. Das erwartete Ergebnis plot:
Natürlich, dieses Bild ist manuell gegeben durch den folgenden code:
pd.DataFrame([[0,.1],[1,.5]]).plot(kind="line", x=0, y=1, style="-", legend=None, title="a: 10, b: 20")
plt.xlabel("x")
plt.ylabel("y")
plt.figure()
pd.DataFrame([[0,.33],[1,.11]]).plot(kind="line", x=0, y=1, style="-", legend=None, title="a: 100, b: 200")
plt.xlabel("x")
plt.ylabel("y")
Meine Frage ist, wie dynamisch machen, plots wie oben, wenn Sie einen dataframe mit condition Spalten x und y.
Update
Spalte Namen stehen fest. Aber die Werte von Bedingung Spalten dynamisch geändert wird. Also, ich kann nicht mit den Werten 10, 20, 100, 200.
Update2
Wenn ich die unter "filter_with_a_and_b" - Methode, ich denke, dass das problem gelöst:
def filter_with_a_and_b(df, a_b):
# how to implement?
a_b_list = df.drop_duplicates(["a","b"])
new_df_list = filter_with_a_and_b(df, a_b)
for idx, df in enumerate(new_df_list):
df.plot(title=a_b_list[idx])
- was ist die Quelle für Ihre Bedingungen und auf welche Spalten willst du gelten diese Bedingungen?
- Bitte, siehe update2.
- Sie wollen also das filtern von Spalten
a
undb
mit den Werten der Spaltena
undb
, die würden produzieren den gleichen Daten - frame ist, dass das, was Sie wollen? 😉 - willst du einfach nur plot (x, y) für alle einzigartigen Kombinationen von (a, b)? I. e. wenn Sie drei verschiedene Kombinationen von (a,b) - erzeugen würde drei Grundstücke mit entsprechenden (x,y) - verstehe ich es richtig?
- ja! Absolut
- ich aktualisiert meine Antwort, überprüfen Sie bitte
Du musst angemeldet sein, um einen Kommentar abzugeben.
ist, dass das, was Sie wollen?
und jetzt machen wir es etwas schlauer:
oder mit
query()
:UPDATE: