パンダの型破りだけど実践的なクールな運用 2

目次

1.セクシーオペレーション

1. 移動操作にはシフトを使用します

2. resample を使用してデータをリサンプリングします

3. 拡張を使用して累積計算操作を実行する

4. nlargest と nsmallest を使用して最大値と最小値の演算を実行します

5. マッピング操作にmapとapplymapを使用する

6. stack と unstack を使用して、スタック操作とアンスタック操作を実行します。

7. スライディングウィンドウの操作にローリングを使用する

8. replace を使用して置換操作を実行します

9. 再成形操作にメルトを使用する

10. 集計操作には agg を使用する

2. 焦点を当てる


1.セクシーオペレーション

1.shiftディスプレイスメント操作を使用する

        DataFrame のメソッドはshift、指定された行数だけデータを上または下にシフトできます。

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.resampleデータのリサンプリングを使用する

        DataFrame のメソッドはresample、指定された時間間隔に従ってデータをリサンプリングでき、時系列データの処理によく使用されます。

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.expanding累積計算演算を実行するために使用します

        DataFrame のメソッドはexpandingデータに対して累積計算を実行でき、時系列データの処理によく使用されます。

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.nlargestと を使用してnsmallest最大値と最小値の演算を実行します

        DataFrame のnlargestsumメソッドはnsmallest、最大の N 値と最小の N 値を見つけることができます。

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.マッピング操作の使用mapと実行applymap

        DataFrame のメソッドはmap列をマップでき、applymapメソッドは DataFrame 全体をマップできます。

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.stackと を使用してunstackスタッキングおよびアンスタッキング操作を実行します

        DataFrame のメソッドはstackデータの列を行に変換でき、unstackメソッドはデータの行を列に変換できます。

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.rollingスライディングウィンドウ操作を使用する

        DataFrame のメソッドはrollingスライディング ウィンドウ操作を実行でき、データの処理と分析に一般的に使用されます。

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]})
8.replace交換操作を実行するために使用します

        DataFrame のメソッドは、replace指定された値に対して置換操作を実行できます。

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.melt再形成操作を実行するために使用します

        DataFrame のメソッドmeltは、データを再形成し、ワイド形式のデータをデータの処理や分析によく使用される長い形式に変換できます。

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.agg集計操作を使用する

        DataFrame のメソッドaggは、指定された列に対して集計操作を実行し、複数の値を 1 つの値に結合することができ、データの処理や分析によく使用されます。

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. 焦点を当てる

        Weixin パブリック アカウントの Python リスク管理モデルとデータ分析に従ってください。さらに多くの理論とコード共有があなたを待っています。

おすすめ

転載: blog.csdn.net/a7303349/article/details/133419029