Pandas GroupBy を使用した複数の行の文字列の連結
Pandas の groupby を使用して列内の複数の行の文字列を連結するには、 groupby と変換テクニックの組み合わせ。
次のことを検討してください。 「名前」と「月」の各グループの「テキスト」列を連結するデータセット:
import pandas as pd from io import StringIO data = StringIO( "\n".join([ '"name1","hej","2014-11-01"', '"name1","du","2014-11-02"', '"name1","aj","2014-12-01"', '"name1","oj","2014-12-02"', '"name2","fin","2014-11-01"', '"name2","katt","2014-11-02"', '"name2","mycket","2014-12-01"', '"name2","lite","2014-12-01"' ]) ) # Load and process the data df = pd.read_csv(data, header=0, names=["name", "text", "date"], parse_dates=["date"]) df["month"] = df["date"].apply(lambda x: x.month)
「名前」と「月」の各グループの「テキスト」列を連結するには"、groupby 関数を使用できます:
df['text'] = df[['name','text','month']].groupby(['name','month'])['text'].transform(lambda x: ','.join(x))
または、apply 関数を使用して、 Index:
df.groupby(['name','month'])['text'].apply(','.join).reset_index()
これにより、各グループの「テキスト」値が連結された新しい列が作成されます:
name month text 0 name1 11 du 1 name1 12 aj,oj 2 name2 11 fin,katt 3 name2 12 mycket,lite
groupby 変換手法を利用することで、効率的に連結できます。複数の行から文字列を取得し、データ分析とプレゼンテーションを強化します。
以上がGroupBy を使用して複数の Pandas DataFrame 行の文字列を連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。