Multipliziere Spalten mit einem Skalar in Pandas
- Verwenden Sie die direkte Zuweisung, um Spalten mit einem Skalar in Pandas zu multiplizieren
-
Verwenden Sie die Funktion
Multiplizieren
, um Spalten mit einem Skalar in Pandas zu multiplizieren -
Verwenden Sie die
apply
-Funktion, um Spalten mit einem Skalar in Pandas zu multiplizieren -
Verwenden Sie den
loc
-Operator, um Spalten mit einem Skalar in Pandas zu multiplizieren -
Verwenden Sie den
iloc
-Operator, um Spalten mit einem Skalar in Pandas zu multiplizieren
Wir verwenden Pandas für viele Dataframe-Operationen, vom Auffüllen von Daten bis zum Bereinigen der genannten Daten. Der Pandas-Datenrahmen bietet Methoden für Daten und mathematische Operationen mit Python.
Verschiedene mathematische Operationen scheinen weniger intuitiv auszuführen zu sein, aber mit Python sind sie viel einfacher als Sie denken. Eine solche Operation ist die Multiplikation von Pandas-Spalten mit Skalarwerten.
Dieser Artikel zeigt fünf Möglichkeiten, Spalten mit einem Skalar in Pandas innerhalb verschiedener Komplexitäten zu multiplizieren.
Verwenden Sie die direkte Zuweisung, um Spalten mit einem Skalar in Pandas zu multiplizieren
Bevor wir uns mit der Multiplikation von Spalten mit Skalarwerten in Pandas unter Verwendung von In-Place-Zuweisung befassen, wollen wir zeigen, was wir erreichen wollen.
Wir haben einen Datenrahmen mit sieben Spalten.
Nun wollen wir eine Spalte (Eins
) mit einem Skalarwert (5) multiplizieren.
Also, wie erreichen wir das? Der erste Ansatz verwendet eine In-Place-Zuweisung, eine Operation, bei der wir zusätzlich zur Zuweisung eines Werts mit dem Wert arbeiten.
Unter Verwendung der direkten Zuweisung überschreiben wir den Wert der ersten Operandenvariablen mit dem Ergebnis der Operation, die mit dem Wert des Operanden durchgeführt wurde. Visuell entspricht x *= 3
x = x * 3
, wobei der Wert der Variablen x
mit 3
multipliziert und dann derselben Variablen x
zugewiesen wird.
Um dies zu veranschaulichen, können wir einen Pandas-Datenrahmen mit 6 Zeilen und 7 Spalten erstellen, die mit Einsen
gefüllt sind, denen Spaltennamen zugewiesen wurden, und die direkte Zuweisung für die Spalte Eins
durchführen.
import pandas as pd
import numpy as np
df = pd.DataFrame(
np.ones((6, 7)), columns=["one", "two", "three", "four", "five", "six", "seven"]
)
print(df)
Ausgang:
one two three four five six seven
0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
1 1.0 1.0 1.0 1.0 1.0 1.0 1.0
2 1.0 1.0 1.0 1.0 1.0 1.0 1.0
3 1.0 1.0 1.0 1.0 1.0 1.0 1.0
4 1.0 1.0 1.0 1.0 1.0 1.0 1.0
5 1.0 1.0 1.0 1.0 1.0 1.0 1.0
Um die direkte Zuweisung zu verwenden, müssen wir die Pandas-Spalte auswählen, die wir mit dem Skalarwert multiplizieren möchten, indem wir entweder die Punktnotation oder die Klammernotation verwenden. Unter Verwendung der Klammernotation wählen wir die Spalte eins
aus.
df["one"] *= 5
print(df)
Ausgang:
one two three four five six seven
0 5.0 1.0 1.0 1.0 1.0 1.0 1.0
1 5.0 1.0 1.0 1.0 1.0 1.0 1.0
2 5.0 1.0 1.0 1.0 1.0 1.0 1.0
3 5.0 1.0 1.0 1.0 1.0 1.0 1.0
4 5.0 1.0 1.0 1.0 1.0 1.0 1.0
5 5.0 1.0 1.0 1.0 1.0 1.0 1.0
Wie Sie sehen, wurde die Spalte Eins
mit dem Skalarwert (5) multipliziert.
Verwenden Sie die Funktion Multiplizieren
, um Spalten mit einem Skalar in Pandas zu multiplizieren
Anstatt den Multiplikationsoperator in einem direkten Zuweisungsansatz zu verwenden, können Sie die von Pandas bereitgestellte Methode multiply
method verwenden. Wir wenden die Methode in der gewünschten Spalte an und übergeben den Skalarwert als Argument für die Methode multiplizieren
.
Um die Methode Multiplizieren
zu demonstrieren, multiplizieren wir die Spalte Zwei
mit dem Skalarwert 7
(Zugriff auf die Spalte Zwei
mit der Punktnotation).
df.two = df.two.multiply(7)
print(df)
Ausgang:
one two three four five six seven
0 5.0 7.0 1.0 1.0 1.0 1.0 1.0
1 5.0 7.0 1.0 1.0 1.0 1.0 1.0
2 5.0 7.0 1.0 1.0 1.0 1.0 1.0
3 5.0 7.0 1.0 1.0 1.0 1.0 1.0
4 5.0 7.0 1.0 1.0 1.0 1.0 1.0
5 5.0 7.0 1.0 1.0 1.0 1.0 1.0
Verwenden Sie die apply
-Funktion, um Spalten mit einem Skalar in Pandas zu multiplizieren
Ähnlich wie wir die Methode multiply
verwendet haben, können wir die Methode apply
– eine Funktion höherer Ordnung – verwenden, um Spalten mit einem Skalar in Pandas zu multiplizieren. Die apply
-Methode verwendet eine lambda
-Funktion, die eine Aktion an den Zellelementen der Spalte ausführt, auf die sie angewendet wird.
Wir können also mit der Funktion lambda
eine Multiplikationsaktion für das Zellenelement angeben.
Um zu veranschaulichen, wie das funktioniert, multiplizieren wir die Spalte drei
(aus dem in früheren Abschnitten verwendeten Datenrahmen) mit 9
mit der Methode apply
.
df["three"] = df["three"].apply(lambda x: x * 9)
print(df)
Ausgang:
one two three four five six seven
0 5.0 7.0 9.0 1.0 1.0 1.0 1.0
1 5.0 7.0 9.0 1.0 1.0 1.0 1.0
2 5.0 7.0 9.0 1.0 1.0 1.0 1.0
3 5.0 7.0 9.0 1.0 1.0 1.0 1.0
4 5.0 7.0 9.0 1.0 1.0 1.0 1.0
5 5.0 7.0 9.0 1.0 1.0 1.0 1.0
Sie können sehen, dass alle Zellen in der Spalte drei
mit 9
multipliziert wurden, basierend auf der lambda
-Funktion. Dieser Ansatz kann stressig erscheinen, kann aber funktioneller sein, wenn der Wert, den wir mit der Spalte multiplizieren möchten, je nach Zelle variieren kann.
Verwenden Sie den loc
-Operator, um Spalten mit einem Skalar in Pandas zu multiplizieren
Außerdem können wir den Operator loc
verwenden, um die Spalte in Pandas mit einem Skalar zu multiplizieren. Mit dem Operator loc
können wir einen Teil eines Datenrahmens indizieren.
Wir können basierend auf Zeilen und Spalten indizieren. Für uns müssen wir basierend auf der benötigten Spalte indizieren.
Die typische Syntax für den Operator loc
ist unten angegeben.
DataFrame.loc[rows, columns]
Damit wir jedoch nur auf die Spalte zugreifen können, können wir die folgende Syntax verwenden.
DataFrame.loc[:, columns]
Das :
gibt an, dass es alle Zeilen haben möchte. Zusammengenommen bedeutet die obige Syntax, auf alle Zeilen in der angegebenen Spalte zuzugreifen.
Jetzt verwenden wir die obige Syntax, um die Spalte vier
zu erhalten, und verwenden die direkte Zuweisung, um die Werte mit 11
zu multiplizieren.
df.loc[:, "four"] *= 11
print(df)
Ausgang:
one two three four five six seven
0 5.0 7.0 9.0 11.0 1.0 1.0 1.0
1 5.0 7.0 9.0 11.0 1.0 1.0 1.0
2 5.0 7.0 9.0 11.0 1.0 1.0 1.0
3 5.0 7.0 9.0 11.0 1.0 1.0 1.0
4 5.0 7.0 9.0 11.0 1.0 1.0 1.0
5 5.0 7.0 9.0 11.0 1.0 1.0 1.0
Dies erscheint unnötig lang, aber dieser Ansatz ist funktionsfähig, wenn wir mehrere Spalten multiplizieren möchten. Wenn wir beispielsweise die Spalten fünf
und sechs
mit 13
multiplizieren wollen, übergeben wir als zweites Argument an den Operator loc
eine Liste mit den Namen der Spalten.
df.loc[:, ["five", "six"]] *= 13
print(df)
Ausgang:
one two three four five six seven
0 5.0 7.0 9.0 11.0 13.0 13.0 1.0
1 5.0 7.0 9.0 11.0 13.0 13.0 1.0
2 5.0 7.0 9.0 11.0 13.0 13.0 1.0
3 5.0 7.0 9.0 11.0 13.0 13.0 1.0
4 5.0 7.0 9.0 11.0 13.0 13.0 1.0
5 5.0 7.0 9.0 11.0 13.0 13.0 1.0
Verwenden Sie den iloc
-Operator, um Spalten mit einem Skalar in Pandas zu multiplizieren
Ähnlich wie der Operator loc
akzeptiert er nur ganzzahlige Werte als Index für die Werte, auf die wir zugreifen möchten. Im Gegensatz zu loc
, wo wir den Namen der Spalte verwenden können, verwenden wir den Indexwert der Spalte.
Denken Sie auch daran, dass der Index bei 0 und nicht bei 1 beginnt. Wenn wir also auf die Spalte sieben
zugreifen und mit 15
multiplizieren wollen, verwenden wir den Indexwert 6
.
df.iloc[:, 6] = df.iloc[:, 6] * 15
print(df)
Ausgang:
one two three four five six seven
0 5.0 7.0 9.0 11.0 13.0 13.0 15.0
1 5.0 7.0 9.0 11.0 13.0 13.0 15.0
2 5.0 7.0 9.0 11.0 13.0 13.0 15.0
3 5.0 7.0 9.0 11.0 13.0 13.0 15.0
4 5.0 7.0 9.0 11.0 13.0 13.0 15.0
5 5.0 7.0 9.0 11.0 13.0 13.0 15.0
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedInVerwandter Artikel - Pandas DataFrame Column
- Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
- Pandas DataFrame-Spalte löschen
- Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
- So erhalten Sie die Summe der Pandas-Spalte
- Wie man die Reihenfolge der Pandas DataFrame-Spalten ändert
- Wie man eine DataFrame-Spalte in eine Zeichenkette in Pandas konvertiert