Pandas unkonventionelle, aber praktische coole Bedienung 2

Inhaltsverzeichnis

1. Sexy Operation

1. Verwenden Sie die Umschalttaste für Verschiebungsoperationen

2. Verwenden Sie „Resample“, um die Daten erneut abzutasten

3. Verwenden Sie die Erweiterung, um kumulative Berechnungsoperationen durchzuführen

4. Verwenden Sie nlargest und nsmallest, um Maximal- und Minimalwertoperationen durchzuführen

5. Verwenden Sie „map“ und „applymap“ für Mapping-Vorgänge

6. Verwenden Sie „Stack“ und „Unstack“, um Stapel- und Entstapelvorgänge durchzuführen

7. Für die Schiebefensterbetätigung Rollen verwenden

8. Verwenden Sie „Ersetzen“, um Ersetzungsvorgänge durchzuführen

9. Schmelze zum Umformen verwenden

10. Verwenden Sie agg für Aggregationsvorgänge

2. Konzentrieren Sie sich auf


1. Sexy Operation

1. Verwenden Sie shiftVerschiebungsoperationen

        Methoden in DataFrame shiftkönnen Daten um eine angegebene Anzahl von Zeilen nach oben oder unten verschieben.

import pandas as pd  
import numpy as np  
  
# 创建一个包含NaN值的DataFrame  
df = pd.DataFrame({'A': [1, 2, np.nan, 4]})  
print(df)  
  
# 使用shift方法向上位移一行,将NaN值填充到第一行  
result = df['A'].shift(-1)  
print(result)  # 输出Series([2.0, nan, 4.0, nan])
2. Verwenden Sie resampleDaten-Resampling

        Die Methoden in DataFrame resamplekönnen Daten nach bestimmten Zeitintervallen erneut abtasten und werden häufig zur Verarbeitung von Zeitreihendaten verwendet.

import pandas as pd  
import numpy as np  
  
# 创建一个时间序列DataFrame  
df = pd.DataFrame({'A': [1, 2, 3, 4, 5]}, index=pd.date_range('2023-01-01', periods=5))  
print(df)  
  
# 使用resample方法按天进行重采样,采用平均值作为采样值  
result = df.resample('D').mean()  
print(result)  # 输出DataFrame({'A': [1.5, 2.5, 3.5, 4.5]})
3. expandingZur Durchführung kumulativer Berechnungsoperationen verwenden

        Die Methoden in DataFrame expandingkönnen kumulative Berechnungen für Daten durchführen und werden häufig zur Verarbeitung von Zeitreihendaten verwendet.

import pandas as pd  
import numpy as np  
  
# 创建一个时间序列DataFrame  
df = pd.DataFrame({'A': [1, 2, 3, 4, 5]}, index=pd.date_range('2023-01-01', periods=5))  
print(df)  
  
# 使用resample方法按天进行重采样,采用平均值作为采样值  
result = df.resample('D').mean()  
print(result)  # 输出DataFrame({'A': [1.5, 2.5, 3.5, 4.5]})
4. Verwenden Sie nlargestund, nsmallestum Maximal- und Minimalwertoperationen durchzuführen

nlargestDie Summenmethode         in DataFrame nsmallestkann die größten N-Werte und die kleinsten N-Werte finden.

import pandas as pd  
import numpy as np  
  
# 创建一个DataFrame  
df = pd.DataFrame({'A': [3, 1, 2], 'B': [6, 4, 5]})  
print(df)  
  
# 使用nlargest方法找出B列最大的2个值  
result = df['B'].nlargest(2)  
print(result)  # 输出Series([6, 5])  
  
# 使用nsmallest方法找出A列最小的2个值  
result = df['A'].nsmallest(2)  
print(result)  # 输出Series([1, 2])
5. Verwenden mapund applymapführen Sie Zuordnungsvorgänge durch

        Methoden in DataFrame mapkönnen eine Spalte zuordnen, und applymapMethoden können den gesamten DataFrame zuordnen.

import pandas as pd  
import numpy as np  
  
# 创建一个DataFrame  
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})  
print(df)  
  
# 使用map方法将A列的值映射为新的值  
mapping_dict = {1: 'one', 2: 'two', 3: 'three'}  
result = df['A'].map(mapping_dict)  
print(result)  # 输出Series(['one', 'two', 'three'])  
  
# 使用applymap方法将整个DataFrame的值映射为新的值  
mapping_func = lambda x: x * 2  
result = df.applymap(mapping_func)  
print(result)  # 输出DataFrame({'A': [2, 4, 6], 'B': [8, 10, 12]})
6. Verwenden Sie stackund unstackzum Stapeln und Entstapeln

        Methoden in einem DataFrame stackkönnen Datenspalten in Zeilen konvertieren, und unstackMethoden können Datenzeilen in Spalten konvertieren.

import pandas as pd  
import numpy as np  
  
# 创建一个多重索引的DataFrame  
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'], columns=['x', 'y'])  
print(df)  
  
# 使用stack方法将数据的列转换为行  
result = df.stack()  
print(result)  # 输出Series([1, 4, 2, 5, 3, 6], index=MultiIndex([('a', 'x'), ('a', 'y'), ('b', 'x'), ('b', 'y'), ('c', 'x'), ('c', 'y')], names=['index', 'columns']))  
  
# 使用unstack方法将数据的行转换为列  
result = df.unstack()  
print(result)  # 输出DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
7. Verwenden Sie rollingden Schiebefensterbetrieb

        Die Methoden in DataFrame rollingkönnen Schiebefensteroperationen ausführen und werden häufig zur Datenverarbeitung und -analyse verwendet.

import pandas as pd  
import numpy as np  
  
# 创建一个DataFrame  
df = pd.DataFrame({'A': [1, 2, 3, 4, 5]})  
print(df)  
  
# 使用rolling方法进行滑动窗口操作,窗口大小为3,并计算每个窗口内的平均值  
result = df.rolling(window=3).mean()  
print(result)  # 输出DataFrame({'A': [nan, nan, 2.0, 3.0, 4.0]})
replace8. Zum Durchführen von Austauschvorgängen verwenden

        Methoden in DataFrame replacekönnen Ersetzungsvorgänge für bestimmte Werte durchführen.

import pandas as pd  
import numpy as np  
  
# 创建一个DataFrame  
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': ['foo', 'bar', 'foo', 'bar', 'foo']})  
print(df)  
  
# 使用replace方法将B列中的'foo'替换为'baz'  
result = df.replace({'B': {'foo': 'baz'}})  
print(result)  # 输出DataFrame({'A': [1, 2, 3, 4, 5], 'B': ['baz', 'bar', 'baz', 'bar', 'baz']})
9. meltZur Durchführung von Umformvorgängen verwenden

        Die Methoden in DataFrame meltkönnen Daten umformen und Breitformatdaten in ein Langformat konvertieren, das häufig zur Datenverarbeitung und -analyse verwendet wird.

import pandas as pd  
import numpy as np  
  
# 创建一个宽格式的DataFrame  
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})  
print(df)  
  
# 使用melt方法将数据进行重塑操作,将宽格式的数据转换为长格式  
result = df.melt()  
print(result)  # 输出DataFrame({'A': [1, 2, 3, 1, 2, 3, 1, 2, 3], 'variable': ['B', 'B', 'B', 'C', 'C', 'C', 'B', 'B', 'B'], 'value': [4, 5, 6, 7, 8, 9, 4, 5, 6]})
10. Verwenden Sie aggAggregationsoperationen

        Methoden in DataFrame aggkönnen Aggregationsvorgänge für bestimmte Spalten ausführen und mehrere Werte zu einem Wert kombinieren, der häufig zur Datenverarbeitung und -analyse verwendet wird.

import pandas as pd  
import numpy as np  
  
# 创建一个DataFrame  
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]})  
print(df)  
  
# 使用agg方法将A列和B列分别进行求和和平均值操作  
result = df.agg({'A': 'sum', 'B': 'mean'})  
print(result)  # 输出DataFrame({'A': [15], 'B': [30]})

2. Konzentrieren Sie sich auf

        Folgen Sie dem  Python-Risikokontrollmodell und der Datenanalyse des öffentlichen Kontos von Weixin . Weitere Theorien und Code-Sharing warten auf Sie.

Ich denke du magst

Origin blog.csdn.net/a7303349/article/details/133419029
Empfohlen
Rangfolge