データ分析!5つの便利なPandas関数を紹介する - ScrapeStorm
摘要:今日は、データアナリストが作業効率を大幅に向上させるのに役立つ、非常に使いやすいパンダス関数をいくつか紹介します。 ScrapeStorm無料ダウンロード
Pandasとは?
Pandas(パンダス)はデータ解析を容易にする機能を提供するPythonのデータ解析ライブラリです。
Pandasの特徴には、データフレーム(DataFrame)などの独自のデータ構造が提供されており、様々な処理が可能です。
特に、表形式のデータをSQLまたはRのように操作することが可能で、かつ高速で処理出来ます。(元記事のリンク:https://aiacademy.jp/media/?p=152)
今日は、データアナリストが作業効率を大幅に向上させるのに役立つ、非常に使いやすいパンダス関数をいくつか紹介します。
1.assign()
assign()はデータセットに新しい列を追加するために使用できます。例は次のとおりです。
df.assign(size_1=lambda x: x.population * 9 / 5 + 32)
output
species population size_1
panda bear 1864 3387.2
polar bear 22000 39632.0
koala marsupial 80000 144032.0
上記の例からわかるように、lambarの匿名関数を使用して、「size_1」という名前の新しい列をデータセットに追加します。もちろん、assign()を使用して複数の列を作成することもできます。
df.assign(size_1 = lambda x: x.population * 9 / 5 + 32,
size_2 = lambda x: x.population * 8 / 5 + 10)
output
species population size_1 size_2
panda bear 1864 3387.2 2992.4
polar bear 22000 39632.0 35210.0
koala marsupial 80000 144032.0 128010.0
2.eval()
eval()は、主に文字列で表される演算を実行するために使用されます。
例えば、
df.eval("size_3 = size_1 + size_2")
output
species population size_1 size_2 size_3
panda bear 1864 3387.2 2992.4 6379.6
polar bear 22000 39632.0 35210.0 74842.0
koala marsupial 80000 144032.0 128010.0 272042.0
もちろん、同時に複数の演算を行うこともできます。
df = df.eval('''
size_3 = size_1 + size_2
size_4 = size_1 - size_2
''')
output
species population size_1 size_2 size_3 size_4
panda bear 1864 3387.2 2992.4 6379.6 394.8
polar bear 22000 39632.0 35210.0 74842.0 4422.0
koala marsupial 80000 144032.0 128010.0 272042.0 16022.0
3.count()
count()は主に、列内の空でない値の数をカウントするために使用されます。
例は次のとおりです。
df = pd.DataFrame({"Name": ["John", "Myla", "Lewis", "John", "John"],
"Age": [24., np.nan, 25, 33, 26],
"Single": [True, True, np.nan, True, False]})
output
Name Age Single
0 John 24.0 True
1 Myla NaN True
2 Lewis 25.0 NaN
3 John 33.0 True
4 John 26.0 False
count()を使用して、データセット内の空でない値の数をカウントします。
df.count()
output
Name 5
Age 4
Single 4
dtype: int64
4.first()
データセットの行のインデックスが日付の場合、first()を介してデータの最初の数行をフィルタすることができます。
index_1 = pd.date_range('2021-11-11', periods=5, freq='2D')
ts = pd.DataFrame({'A': [1, 2, 3, 4, 5]}, index=index_1)
ts
output
A
2021-11-11 1
2021-11-13 2
2021-11-15 3
2021-11-17 4
2021-11-19 5
first()を使って前の3日間のデータを選別します。
ts.first('3D')
output
A
2021-11-11 1
2021-11-13 2
5.clip()
clip()は主に閾値を設定することによりデータセットの値を変更し、値が閾値を超える場合には対応する調整を行います。
data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}
df = pd.DataFrame(data)
output
df.clip(lower = -4, upper = 4)
output
col_0 col_1
0 4 -2
1 -3 -4
2 0 4
3 -1 4
4 4 -4
パラメータlowerとuperはそれぞれ閾値の上限と下限を表し、データセットの上限と下限を超える値が代替されることを見ました。
免責事項: 本文はユーザーが提供して、侵害がありましたら、ご連絡してすぐに削除します。ScrapeStormは、ユーザーが本ソフトウェアを使って行うすべての行為に対して、一切責任を負いません。