1

こんにちは、パンダにテーブルがあり (スクリーンショットの抜粋を参照してください。さらに多くの行があります)、一意の「author_id」を引き出してから、関数を実行して各 ID に関連付けられた詳細を引き出したいと考えています。

次の方法で一意の ID のリストを抽出します。

unique_ids = df['author_id'].unique()

次に、実行しようとします:

df['author_id'].unique().apply(some_function)

「some_function」は「author_id」を受け取り、何らかの情報を返します。しかし、私はエラーが発生します:

AttributeError: 'numpy.ndarray' object has no attribute 'apply'

だから私は頼っています:

[unique_ids の author_id の some_function(author_id)]

これは機能しますが、これを行う効率的/ベクトル化された方法ではありません。

ベクトル化された方法でこれを行う方法は何ですか?

前もって感謝します!ここに画像の説明を入力

4

2 に答える 2

1

私はあなたがやりたいと思うgroupby

g = df.groupby('author_id')

g.apply(some_function)
于 2013-06-05T10:34:10.770 に答える
1

unique 関数の出力は、apply メソッドを提供しない numpy 配列です。その配列でを作成してSeriesから、関数を適用できます。

pd.Series(df['author_id'].unique()).apply(some_function)
于 2013-06-05T10:47:18.713 に答える