私は大きなデータセットを持っており、特定の条件(この場合、単語の最後の2文字、つまりsome_string [-1]を除くすべて)で特定の行をグループ化しようとしています。pandas:iterrows()を使って抽出した行からDataFrameを作成するには?
まず、行を選択し、単語の最初の部分としてキーを含む辞書に格納し、値をその条件を満たす行のタプルのリストとして格納します。
(これが最善の方法である場合、私は知らない、提案すること自由に感じなさい!)
def group_by_name(data, name_column):
#simple grouping of bookings according to everything except last two letters of name
buckets = {};
i =0;
for index,booking in data.iterrows():
buckets.setdefault(str(booking[name_column])[:-1],[]).append((index,booking))
return buckets
これはキーごとのオブジェクトのリストを返します - 私は、このようなデータフレームの中に、これらのオブジェクトを作り直すことができる方法私はそれらをより簡単に読んで操作することができますか?
はい、GROUPBYは私が探していたものでした! .applyを使用すると、上記の構文よりもうまく機能しました。ありがとう。 – mogget
ようこそ。いい日! – jezrael