Pandasのgroupedbyに基づいて、データフレーム内の複数の文字列をマージしたいと思います。
これはこれまでの私のコードです:
import pandas as pd
from io import StringIO
data = StringIO("""
"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 string as stream into dataframe
df = pd.read_csv(data,header=0, names=["name","text","date"],parse_dates=[2])
# add column with month
df["month"] = df["date"].apply(lambda x: x.month)
最終結果を次のようにしたいと思います。
groupbyを使用して、「text」列の文字列を何らかの連結で適用する方法がわかりません。助けていただければ幸いです。
pandas < 1.0
、.drop_duplicates()
インデックスを無視します。これにより、予期しない結果が生じる可能性があります。の.agg(lambda x: ','.join(x))
代わりにを使用すると、これを回避でき.transform().drop_duplicates()
ます。