Wie man eine DataFrame-Spalte in eine Zeichenkette in Pandas konvertiert
-
Pandas DataFrame
Series.astype(str)
Methode -
DataFrame
apply
-Methode zur Bearbeitung von Elementen in der Spalte
Wir werden Methoden zur Konvertierung von Pandas DataFrame-Spalte in string
vorstellen.
- Pandas DataFrame
Series.astype(str)
Methode - DataFrame
apply
-Methode zur Bearbeitung von Elementen in einer Spalte
Wir werden in diesem Artikel unten den gleichen DataFrame verwenden.
import pandas as pd
df = pd.DataFrame({"A": [1, 2, 3], "B": [4.1, 5.2, 6.3], "C": ["7", "8", "9"]})
print(df)
print(df.dtypes)
A B C
0 1 4.1 7
1 2 5.2 8
2 3 6.3 9
A int64
B float64
C object
dtype: object
Pandas DataFrame Series.astype(str)
Methode
Pandas Series astype(dtype)
methode konvertiert die Pandas Series in den angegebenen dtype
Typ.
pandas.Series.astype(str)
Sie konvertiert die Spalte Series
, DataFrame
wie in diesem Artikel in string
(Zeichenkette).
>>> df
A B C
0 1 4.1 7
1 2 5.2 8
2 3 6.3 9
>>> df['A'] = df['A'].astype(str)
>>> df
A B C
0 1 4.1 7
1 2 5.2 8
2 3 6.3 9
>>> df.dtypes
A object
B float64
C object
dtype: object
Die astype()
Methode modifiziert die DataFrame
Daten nicht an Ort und Stelle, daher müssen wir die zurückgegebene Pandas Series
der spezifischen DataFrame
Spalte zuweisen.
Wir könnten auch mehrere Spalten gleichzeitig in Zeichenketten konvertieren, indem wir die Namen der Spalten in eckige Klammern setzen, um eine Liste zu bilden.
>>> df[['A','B']] = df[['A','B']].astype(str)
>>> df
A B C
0 1 4.1 7
1 2 5.2 8
2 3 6.3 9
>>> df.dtypes
A object
B object
C object
dtype: object
DataFrame apply
-Methode zur Bearbeitung von Elementen in der Spalte
apply(func, *args, **kwds)
Die Methode apply
von DataFrame
wendet die Funktion func
auf jede Spalte oder Zeile an.
Wir könnten der Einfachheit halber die Funktion lambda
anstelle von func
verwenden.
>>> df['A'] = df['A'].apply(lambda _: str(_))
>>> df
A B C
0 1 4.1 7
1 2 5.2 8
2 3 6.3 9
>>> df.dtypes
A object
B float64
C object
dtype: object
Sie könnten nicht die Methode apply
verwenden, um die Funktion auf mehrere Spalten anzuwenden.
>>> df[['A','B']] = df[['A','B']].apply(lambda _: str(_))
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
df[['A','B']] = df[['A','B']].apply(lambda _: str(_))
File "D:\WinPython\WPy-3661\python-3.6.6.amd64\lib\site-packages\pandas\core\frame.py", line 3116, in __setitem__
self._setitem_array(key, value)
File "D:\WinPython\WPy-3661\python-3.6.6.amd64\lib\site-packages\pandas\core\frame.py", line 3144, in _setitem_array
self.loc._setitem_with_indexer((slice(None), indexer), value)
File "D:\WinPython\WPy-3661\python-3.6.6.amd64\lib\site-packages\pandas\core\indexing.py", line 606, in _setitem_with_indexer
raise ValueError('Must have equal len keys and value '
ValueError: Must have equal len keys and value when setting with an iterable
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn FacebookVerwandter Artikel - Pandas DataFrame
- Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
- Pandas DataFrame-Spalte löschen
- Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
- Wie konvertiert man eine Fließkommazahl in eine Ganzzahl in Pandas DataFrame
- Wie man Pandas-DataFrame nach den Werten einer Spalte sortiert
- Wie erhält man das Aggregat der Pandas gruppenweise und sum