ダミー列を生成する前に、データ フレームのカテゴリをフィルタリングします。

マーティンゼイキ

いくつかの列にカテゴリ値を持つデータセットがあります (1 つの行には、 で区切られた複数のカテゴリが含まれる場合があります,)。例:

  user hashtags
0   u1      a,b
1   u2      a,c
2   u3        c

これらのカテゴリにダミーの列を作成したいと思います。また、データセットにほとんど出現しないカテゴリにも興味がありません。現在、ダミーの列を生成してから、次のように出現回数の少ない列を削除しています (これchunkは元のデータ フレームです)。

dummies_hashtags = chunk['hashtags'].str.get_dummies(sep=',')
dummies_hashtags.columns = dummies_hashtags.columns.map(lambda c: 'hashtag_' + c)

# get rid of dummy columns with usage below 10
usage = dummies_hashtags.sum(0)
high_usage = dummies_hashtags[np.where(usage >= 10)[0]]
low_usage = dummies_hashtags[np.where(usage < 10)[0]]
dummies_hashtags = high_usage
dummies_hashtags['other_hashtags'] = low_usage.sum(1)

出現率の低いカテゴリの数の列も追加していることに注意してください。

このアプローチは機能しますが、非常に低速です。それを改善する方法についての私の考えは、ダミー列を生成する前に、最初にすべての一意のカテゴリとその数を取得し、次に低い数のカテゴリを削除することです。

これについてお聞きしたいのですが、このアプローチは実際に何かを改善しますか? それはどのように実装されますか?np.uniquereturn_counts=True思い浮かびます)。また、この問題に対するより良いアプローチはありますか?

(注: データセットはSparseDataFrameすでに存在します)。

回転した

numpyブール値のスライスを使用すると速度が上がります.これがうまくいくかどうか教えてください。

duh = df.hashtags.str.get_dummies(',')
v = duh.values
m = v.sum(0) > 1  # filter out occurrences of 1.  change for your needs
d2 = pd.DataFrame(v[:, m], duh.index, duh.columns[m])

df.join(d2)

  user hashtags  a  c
0   u1      a,b  1  0
1   u2      a,c  1  1
2   u3        c  0  1

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

カテゴリカル列でDaskデータフレームをフィルタリングしますか?

分類Dev

そのカテゴリを更新する列の値によってパンダcatagoricalデータフレームをフィルタリング

分類Dev

パンダ:カテゴリカルデータフレームに列を追加します

分類Dev

カテゴリ列によるパンダデータフレームのフィルタリングに失敗する

分類Dev

カテゴリ列によるパンダデータフレームのフィルタリングに失敗する

分類Dev

データフレームのサブ設定を使用して、カテゴリ列を再コーディングします

分類Dev

注文したカテゴリのアイテム数でパンダのデータフレームをフィルタリングする方法はありますか?

分類Dev

パンダのデータフレームをkerasのカテゴリに変換します

分類Dev

パンダのデータフレームをフィルタリングし、tkinter / pandastableに表示します

分類Dev

パンダは、最大合計値を持つカテゴリ列を持つデータフレームをグループ化します

分類Dev

データフレームをフィルタリングし、前の行データを使用する

分類Dev

カスタム商品ループをフィルタリングして、WooCommerceのカテゴリから商品を取得します

分類Dev

パンダデータフレーム内のカテゴリデータのサブグループをカウントする方法は?

分類Dev

カテゴリ別のPythonデータフレームでランダムサンプルを取得する

分類Dev

パンダのデータフレームをグループ化してフィルタリングする

分類Dev

データのリストに関してデータフレームをフィルタリングする

分類Dev

リストを使用してパンダのデータフレームをフィルタリングする

分類Dev

既存の列のカテゴリ値に基づいてデータフレームに列を追加します

分類Dev

pandasデータフレームに列を追加すると、カテゴリカルインデックスエラーが発生します

分類Dev

グループカテゴリが重複しているパンダのデータフレームをプロットする

分類Dev

カテゴリのリストとしてパンダのデータフレーム列をモデル化する

分類Dev

最大カテゴリカルオカレンスに基づいてテーブルをフィルタリングします

分類Dev

パンダは正と負の値のデータフレームをフィルタリングします

分類Dev

Python Pandas:別のデータフレームの文字列コメントからデータフレームのカテゴリの最大値を削除します

分類Dev

ループ関数を使用して、データフレームをデータフレームのリストにフィルタリングします

分類Dev

カウントのあるパンダデータフレーム内のさまざまなアイテムの文字列をカテゴリカルカウントに変換します

分類Dev

配列を含むパンダデータフレームのセルをフィルタリングする

分類Dev

列のリストに対してORステートメントを使用してPandasデータフレームをフィルタリングする

分類Dev

連続データをパンダデータフレームのカテゴリデータに変換します

Related 関連記事

  1. 1

    カテゴリカル列でDaskデータフレームをフィルタリングしますか?

  2. 2

    そのカテゴリを更新する列の値によってパンダcatagoricalデータフレームをフィルタリング

  3. 3

    パンダ:カテゴリカルデータフレームに列を追加します

  4. 4

    カテゴリ列によるパンダデータフレームのフィルタリングに失敗する

  5. 5

    カテゴリ列によるパンダデータフレームのフィルタリングに失敗する

  6. 6

    データフレームのサブ設定を使用して、カテゴリ列を再コーディングします

  7. 7

    注文したカテゴリのアイテム数でパンダのデータフレームをフィルタリングする方法はありますか?

  8. 8

    パンダのデータフレームをkerasのカテゴリに変換します

  9. 9

    パンダのデータフレームをフィルタリングし、tkinter / pandastableに表示します

  10. 10

    パンダは、最大合計値を持つカテゴリ列を持つデータフレームをグループ化します

  11. 11

    データフレームをフィルタリングし、前の行データを使用する

  12. 12

    カスタム商品ループをフィルタリングして、WooCommerceのカテゴリから商品を取得します

  13. 13

    パンダデータフレーム内のカテゴリデータのサブグループをカウントする方法は?

  14. 14

    カテゴリ別のPythonデータフレームでランダムサンプルを取得する

  15. 15

    パンダのデータフレームをグループ化してフィルタリングする

  16. 16

    データのリストに関してデータフレームをフィルタリングする

  17. 17

    リストを使用してパンダのデータフレームをフィルタリングする

  18. 18

    既存の列のカテゴリ値に基づいてデータフレームに列を追加します

  19. 19

    pandasデータフレームに列を追加すると、カテゴリカルインデックスエラーが発生します

  20. 20

    グループカテゴリが重複しているパンダのデータフレームをプロットする

  21. 21

    カテゴリのリストとしてパンダのデータフレーム列をモデル化する

  22. 22

    最大カテゴリカルオカレンスに基づいてテーブルをフィルタリングします

  23. 23

    パンダは正と負の値のデータフレームをフィルタリングします

  24. 24

    Python Pandas:別のデータフレームの文字列コメントからデータフレームのカテゴリの最大値を削除します

  25. 25

    ループ関数を使用して、データフレームをデータフレームのリストにフィルタリングします

  26. 26

    カウントのあるパンダデータフレーム内のさまざまなアイテムの文字列をカテゴリカルカウントに変換します

  27. 27

    配列を含むパンダデータフレームのセルをフィルタリングする

  28. 28

    列のリストに対してORステートメントを使用してPandasデータフレームをフィルタリングする

  29. 29

    連続データをパンダデータフレームのカテゴリデータに変換します

ホットタグ

アーカイブ