Ich habe folgenden Pandas Datenrahmen df:Python Pandas verwenden, um mehrere Worte in Spalte als Indizes
Book_Category | Book_Title | Revenue
Thriller You don't know what I have done 200
Romance Last Summer I loved you 100
Ich versuche, einen Weg zu finden, einen neuen Datenrahmen, durch Wort im Buch Titel (bitte erstellen beachten Sie, dass Groß- und Kleinschreibung sollte keine Rolle spielen)
Dies ist das Ende Ziel df2:
Book_Title_word | Revenue
you 300
I 300
don't 200
know 200
what 200
have 200
done 200
last 100
summer 100
loved 100
Da die Worte, die ich und Sie in beiden Titeln waren, wurden die Einnahmen für sich summieren.
Ist das in Python machbar?
Vielen Dank
UPDATE:
Weil ich größere Zahlen verwenden, wenn die Einnahmen durch A-Za-z in wissenschaftlicher Notation fromat ist vorgesehen mit ('2.155051e-01').
Book_Category | Book_Title | Revenue | Quantity
A ...what ... 3459283 45757
B what ... 4376899 35657
C .....what 4567856 7689
df_new = pd.DataFrame(df['Book_Title'].str.split(' ').tolist(), index=df['Revenue']).stack().reset_index()[[0, 'Revenue']]
df_new.columns = ['Book_Title_word', 'Revenue']
df_new.Book_Title_word = df_new.Book_Title_word.str.lower()
df_new.groupby('Book_Title_word').sum().sort_values(by = 'Revenue',ascending = False)
Book_Title_word | Revenue
what 2.160651e-01
Dies das Problem behoben
pd.set_option('display.float_format', lambda x: '%.3f' % x)
aus dieser Antwort Format/Suppress Scientific Notation from Python Pandas Aggregation Results
danke für diese Antwort - es funktioniert, aber die Zahlen, die ich für den Umsatz bekommen, sind in diesem Format 2.155051e-01- gibt es eine Möglichkeit, das zu vermeiden? Außerdem, wenn ich zwei Metriken addieren möchte - zum Beispiel Revenue und Quantity_bought; kann ich einfach Quantity_bought zum Index hinzufügen? – jeangelj
Können Sie ein Snippet des von Ihnen verwendeten Beispiels bereitstellen? Es wäre einfacher, das Problem zu verstehen – Vaishali
danke - Ich habe ein Beispiel für die Daten hinzugefügt; Ich möchte sowohl Einnahmen als auch Quantität addieren und das wissenschaftliche Notationsformat vermeiden; Kann ich .format() verwenden? – jeangelj