


Einige Tipps zur Implementierung der Datentypkonvertierung in Pandas
Dieser Artikel stellt hauptsächlich einige Techniken zur Datentypkonvertierung in Pandas vor. Er hat einen gewissen Referenzwert. Jetzt können Freunde in Not darauf verweisen.
Vorwort
Pandas ist ein wichtiges Datenanalysetool in Python. Bei der Verwendung von Pandas für die Datenanalyse ist es sehr wichtig, sicherzustellen, dass der richtige Datentyp verwendet wird, da sonst einige unvorhersehbare Fehler auftreten können.
Datentypen in Pandas: Datentypen sind im Wesentlichen die internen Strukturen, die Programmiersprachen verwenden, um zu verstehen, wie Daten gespeichert und bearbeitet werden. Ein Programm muss beispielsweise verstehen, dass man zwei Zahlen addieren kann, beispielsweise 5 + 10, um 15 zu erhalten. Wenn es sich um zwei Zeichenfolgen wie „cat“ und „hat“ handelt, können Sie diese auch verketten (hinzufügen), um „cathat“ zu erhalten. Shangxuetang·Baizhan-Programmierer Herr Chen wies darauf hin, dass ein potenziell verwirrender Aspekt der Pandas-Datentypen darin bestehe, dass es gewisse Überschneidungen zwischen den Datentypen von Pandas, Python und Numpy gebe.
Meistens müssen Sie sich keine Gedanken darüber machen, ob Sie einen Pandas-Typ explizit in den entsprechenden NumPy-Typ umwandeln sollten. Im Allgemeinen können Sie die Standardeinstellungen int64 und float64 von Pandas verwenden. Der einzige Grund, warum ich diese Tabelle einfüge, besteht darin, dass Sie manchmal Numpy-Typen zwischen Codezeilen oder während Ihrer eigenen Analyse sehen.
Datentypen gehören zu den Dingen, die Sie nicht interessieren, bis Sie auf einen Fehler oder ein unerwartetes Ergebnis stoßen. Aber es ist auch das Erste, was Sie überprüfen sollten, wenn Sie neue Daten zur weiteren Analyse in Pandas laden.
Der Autor verwendet Pandas schon seit einiger Zeit, aber ich mache bei einigen kleineren Problemen immer noch Fehler. Als ich auf die Quelle zurückblickte, stellte ich fest, dass einige Feature-Spalten nicht von der Art sind, mit denen Pandas umgehen kann Daten. Daher werden in diesem Artikel einige Tipps zum Konvertieren der grundlegenden Datentypen von Python in Datentypen erläutert, die von Pandas verarbeitet werden können.
Datentypen, die jeweils von Pandas, Numpy und Python unterstützt werden
Aus der obigen Tabelle Es ist ersichtlich, dass Pandas die am häufigsten vorkommenden Datentypen unterstützt. In einigen Fällen können Numpy-Datentypen in Pandas-Datentypen konvertiert werden.
Einführen tatsächlicher Daten zur Analyse
Der Datentyp ist etwas, das Sie möglicherweise nicht groß interessiert, bis Sie das falsche Ergebnis erhalten, also in Ein Beispiel von Hier wird die tatsächliche Datenanalyse vorgestellt, um das Verständnis zu vertiefen.
import numpy as np import pandas as pd data = pd.read_csv('data.csv', encoding='gbk') #因为数据中含有中文数据 data
Die Daten werden jetzt geladen, wenn Sie jetzt einige Operationen an den Daten durchführen möchten, z Fügen Sie die entsprechenden Elemente in den Spalten 2016 und 2017 hinzu.
Daten['2016'] + Daten['2017'] #Selbstverständlich
Den Ergebnissen nach zu urteilen, gibt es wie erwartet keine entsprechende Addition numerischer Werte. Dies liegt daran, dass die Hinzufügung von Objekttypen in Pandas der Hinzufügung von Zeichenfolgen in Python entspricht.
data.info() #Bevor Sie die Daten verarbeiten, sollten Sie die relevanten Informationen der geladenen Daten überprüfen
Nachdem Sie die relevanten Informationen zum Laden von Daten gelesen haben, können Sie die folgenden Probleme feststellen:
Der Datentyp der Kundennummer ist int64 statt Objekttyp
Der Datentyp der Spalten 2016 und 2017 ist ein Objekt statt eines numerischen Typs (int64, float64)
Der Datentyp der Wachstumsrate und der Gruppe sollte sein numerischer Typ statt Objekttyp
Die Datentypen von Jahr, Monat und Tag sollten vom Typ datetime64 statt vom Objekttyp sein
Es gibt drei Grundlegende Methoden für die Datentypkonvertierung in Pandas:
Verwenden Sie die Funktion astype() für die erzwungene Typkonvertierung
Benutzerdefinierte Funktion für die Datentypkonvertierung
-
Verwenden Sie die von Pandas bereitgestellten Funktionen wie to_numeric(), to_datetime()
Verwenden Sie die Funktion astype() für die Typkonvertierung
Der einfachste Weg, den Datentyp der Datenspalte zu konvertieren, ist die Verwendung der astype()-Funktion
data['客户编号'].astype('object') data['客户编号'] = data['客户编号'].astype('object') #对原始数据进行转换并覆盖原始数据列
Sehen Sie sich die obigen Ergebnisse an. Es klingt gut. Hier sind ein paar Beispiele, bei denen die Funktion astype() mit Spaltendaten funktioniert, aber fehlschlägt
data['2017'].astype('float')
data['所属组'].astype('int')
从上面两个例子可以看出,当待转换列中含有不能转换的特殊值时(例子中¥,ErrorValue等)astype()函数将失效。有些时候astype()函数执行成功了也并不一定代表着执行结果符合预期(神坑!)
data['状态'].astype('bool')
乍一看,结果看起来不错,但仔细观察后,会发现一个大问题。那就是所有的值都被替换为True了,但是该列中包含好几个N标志,所以astype()函数在该列也是失效的。
总结一下astype()函数有效的情形:
数据列中的每一个单位都能简单的解释为数字(2, 2.12等)
数据列中的每一个单位都是数值类型且向字符串object类型转换
如果数据中含有缺失值、特殊字符astype()函数可能失效。
使用自定义函数进行数据类型转换
该方法特别适用于待转换数据列的数据较为复杂的情形,可以通过构建一个函数应用于数据列的每一个数据,并将其转换为适合的数据类型。
对于上述数据中的货币,需要将它转换为float类型,因此可以写一个转换函数:
def convert_currency(value): """ 转换字符串数字为float类型 - 移除 ¥ , - 转化为float类型 """ new_value = value.replace(',', '').replace('¥', '') return np.float(new_value)
现在可以使用Pandas的apply函数通过covert_currency函数应用于2016列中的所有数据中。
data['2016'].apply(convert_currency)
该列所有的数据都转换成对应的数值类型了,因此可以对该列数据进行常见的数学操作了。如果利用lambda表达式改写一下代码,可能会比较简洁但是对新手不太友好。
data['2016'].apply(lambda x: x.replace('¥', '').replace(',', '')).astype('float')
当函数需要重复应用于多个列时,个人推荐使用第一种方法,先定义函数还有一个好处就是可以搭配read_csv()函数使用(后面介绍)。
#2016、2017列完整的转换代码 data['2016'] = data['2016'].apply(convert_currency) data['2017'] = data['2017'].apply(convert_currency)
同样的方法运用于增长率,首先构建自定义函数
def convert_percent(value): """ 转换字符串百分数为float类型小数 - 移除 % - 除以100转换为小数 """ new_value = value.replace('%', '') return float(new_value) / 100
使用Pandas的apply函数通过covert_percent函数应用于增长率列中的所有数据中。
data['增长率'].apply(convert_percent)
使用lambda表达式:
data['增长率'].apply(lambda x: x.replace('%', '')).astype('float') / 100
结果都相同:
为了转换状态列,可以使用Numpy中的where函数,把值为Y的映射成True,其他值全部映射成False。
data['状态'] = np.where(data['状态'] == 'Y', True, False)
同样的你也可以使用自定义函数或者使用lambda表达式,这些方法都可以完美的解决这个问题,这里只是多提供一种思路。
利用Pandas的一些辅助函数进行类型转换
Pandas的astype()函数和复杂的自定函数之间有一个中间段,那就是Pandas的一些辅助函数。这些辅助函数对于某些特定数据类型的转换非常有用(如to_numeric()、to_datetime())。所属组数据列中包含一个非数值,用astype()转换出现了错误,然而用to_numeric()函数处理就优雅很多。
pd.to_numeric(data['所属组'], errors='coerce').fillna(0)
可以看到,非数值被替换成0.0了,当然这个填充值是可以选择的,具体文档见
pandas.to_numeric - pandas 0.22.0 documentation
Pandas中的to_datetime()函数可以把单独的year、month、day三列合并成一个单独的时间戳。
pd.to_datetime(data[['day', 'month', 'year']])
完成数据列的替换
data['new_date'] = pd.to_datetime(data[['day', 'month', 'year']]) #新产生的一列数据 data['所属组'] = pd.to_numeric(data['所属组'], errors='coerce').fillna(0)
到这里所有的数据列都转换完毕,最终的数据显示:
在读取数据时就对数据类型进行转换,一步到位
data2 = pd.read_csv("data.csv", converters={ '客户编号': str, '2016': convert_currency, '2017': convert_currency, '增长率': convert_percent, '所属组': lambda x: pd.to_numeric(x, errors='coerce'), '状态': lambda x: np.where(x == "Y", True, False) }, encoding='gbk')
在这里也体现了使用自定义函数比lambda表达式要方便很多。(大部分情况下lambda还是很简洁的,笔者自己也很喜欢使用)
Zusammenfassung
Der erste Schritt beim Betrieb eines Datensatzes besteht darin, sicherzustellen, dass der richtige Datentyp festgelegt ist, und dann können die Daten eingegeben werden analysiert und visualisiert Für andere Vorgänge bietet Pandas viele sehr praktische Funktionen. Mit diesen Funktionen ist es sehr praktisch, die Daten zu analysieren.
Verwandte Empfehlungen:
Pandas implementiert die Auswahl von Zeilen spezifischer Indizes
Das obige ist der detaillierte Inhalt vonEinige Tipps zur Implementierung der Datentypkonvertierung in Pandas. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Praktische Tipps zum Umwandeln von englischen Buchstaben in voller Breite in Formen mit halber Breite. Im modernen Leben kommen wir häufig mit englischen Buchstaben in Kontakt und müssen bei der Verwendung von Computern, Mobiltelefonen und anderen Geräten häufig englische Buchstaben eingeben. Manchmal stoßen wir jedoch auf englische Buchstaben in voller Breite und müssen die Form mit halber Breite verwenden. Wie konvertiert man also englische Buchstaben in voller Breite in die Form mit halber Breite? Hier sind einige praktische Tipps für Sie. Erstens beziehen sich englische Buchstaben und Zahlen in voller Breite auf Zeichen, die in der Eingabemethode eine Position in voller Breite einnehmen, während englische Buchstaben und Zahlen in halber Breite eine Position in voller Breite einnehmen.

In diesem Artikel zeigen wir Ihnen, wie Sie OpenDocumentTextDocument (ODT)-Dateien in Microsoft Word (Docx, DOC usw.) konvertieren. Format. So konvertieren Sie ODT in Word in Windows 11/10. So können Sie ODT-Dokumente auf einem Windows-PC in das DOC- oder DOCX-Format konvertieren: Konvertieren Sie ODT in Word mit WordPad oder Word. Die erste Methode, die wir Ihnen zeigen werden, ist die Verwendung von WordPad oder Word MicrosoftWord zum Konvertieren von ODT in Word. Hier sind die Schritte, um dies zu erreichen: Öffnen Sie zunächst die WordPad-App über das Startmenü. Jetzt geh zu

Golang-Zeitkonvertierung: So konvertieren Sie einen Zeitstempel in einen String. In Golang ist die Zeitoperation eine der häufigsten Operationen. Manchmal müssen wir den Zeitstempel zur einfacheren Anzeige oder Speicherung in eine Zeichenfolge umwandeln. In diesem Artikel wird erläutert, wie Sie mit Golang Zeitstempel in Zeichenfolgen konvertieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Konvertierung von Zeitstempeln und Zeichenfolgen In Golang werden Zeitstempel normalerweise in Form von Ganzzahlen ausgedrückt, die die Anzahl der Sekunden vom 1. Januar 1970 bis zum aktuellen Zeitpunkt darstellen. Die Zeichenfolge ist

In diesem Artikel wird detailliert beschrieben, wie Monate in PHP in englische Monate konvertiert werden, und es werden spezifische Codebeispiele gegeben. In der PHP-Entwicklung müssen wir manchmal digitale Monate in englische Monate konvertieren, was in einigen Datumsverarbeitungs- oder Datenanzeigeszenarien sehr praktisch ist. Die Implementierungsprinzipien, spezifischen Codebeispiele und Vorsichtsmaßnahmen werden im Folgenden ausführlich erläutert. 1. Implementierungsprinzip In PHP können Sie digitale Monate mithilfe der DateTime-Klasse und der Formatmethode in englische Monate konvertieren. Datum

Mit QQ Music kann jeder Filme genießen und sich jeden Tag langweilen. Eine große Anzahl hochwertiger Songs steht zum Anhören zur Verfügung Wenn Sie sie das nächste Mal anhören, benötigen Sie keine Internetverbindung. Die hier heruntergeladenen Songs sind nicht im MP3-Format und können nicht auf anderen Plattformen verwendet werden. Daher gibt es keine Möglichkeit, sie erneut anzuhören Viele Freunde möchten die Songs ins MP3-Format konvertieren. Hier erklärt der Herausgeber, dass Sie Methoden bereitstellen, damit jeder sie verwenden kann! 1. Öffnen Sie QQ Music auf Ihrem Computer, klicken Sie auf die Schaltfläche [Hauptmenü] in der oberen rechten Ecke, klicken Sie auf [Audiotranskodierung], wählen Sie die Option [Song hinzufügen] und fügen Sie die Songs hinzu, die konvertiert werden müssen. 2. Nach dem Hinzufügen Um die Songs anzuzeigen, klicken Sie, um „In [mp3] konvertieren“ auszuwählen.

So konvertieren Sie englische Buchstaben voller Breite in Buchstaben halber Breite. Im täglichen Leben und bei der Arbeit stoßen wir manchmal auf Situationen, in denen wir englische Buchstaben voller Breite in Buchstaben halber Breite umwandeln müssen, z. B. beim Eingeben von Computerkennwörtern, beim Bearbeiten von Dokumenten usw Entwerfen von Layouts. Englische Buchstaben und Zahlen in voller Breite beziehen sich auf Zeichen mit der gleichen Breite wie chinesische Schriftzeichen, während sich englische Buchstaben in halber Breite auf Zeichen mit einer schmaleren Breite beziehen. Im tatsächlichen Betrieb müssen wir einige einfache Methoden beherrschen, um englische Buchstaben voller Breite in Buchstaben halber Breite umzuwandeln, damit wir Text und Zahlen bequemer verarbeiten können. 1. Englische Buchstaben voller Breite und englische Buchstaben halber Breite

PHP-Tutorial: So konvertieren Sie den Int-Typ in einen String. In PHP ist das Konvertieren von Ganzzahldaten in einen String ein häufiger Vorgang. In diesem Tutorial erfahren Sie, wie Sie die in PHP integrierten Funktionen verwenden, um den Typ int in einen String zu konvertieren, und stellen gleichzeitig spezifische Codebeispiele bereit. Cast verwenden: In PHP können Sie Cast verwenden, um ganzzahlige Daten in einen String umzuwandeln. Diese Methode ist sehr einfach. Sie müssen lediglich (string) vor den ganzzahligen Daten hinzufügen, um sie in einen String umzuwandeln. Unten finden Sie einen einfachen Beispielcode

Mit der Beliebtheit von Kurzvideoplattformen ist Video-Matrix-Account-Marketing zu einer aufstrebenden Marketingmethode geworden. Durch die Erstellung und Verwaltung mehrerer Konten auf verschiedenen Plattformen können Unternehmen und Einzelpersonen Ziele wie Markenwerbung, Fanwachstum und Produktverkäufe erreichen. In diesem Artikel wird erläutert, wie Sie Video-Matrix-Konten effektiv nutzen und verschiedene Arten von Video-Matrix-Konten vorgestellt. 1. Wie erstelle ich ein Videomatrix-Konto? Um ein gutes Video-Matrix-Konto zu erstellen, müssen Sie die folgenden Schritte befolgen: Zunächst müssen Sie klären, was das Ziel Ihres Video-Matrix-Kontos ist, sei es für die Markenkommunikation, das Fanwachstum oder den Produktverkauf. Klare Ziele helfen dabei, entsprechende Strategien zu entwickeln. 2. Wählen Sie eine Plattform: Wählen Sie eine geeignete Kurzvideoplattform basierend auf Ihrer Zielgruppe. Zu den aktuellen Mainstream-Kurzvideoplattformen gehören Douyin, Kuaishou, Huoshan Video usw.
