Chcę scalić kilka ciągów w ramce danych opartej na zgrupowaniu w Pandas.
To jest mój kod do tej pory:
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)
Chcę, żeby efekt końcowy wyglądał tak:
Nie rozumiem, jak mogę używać funkcji Groupby i zastosować jakieś połączenie ciągów w kolumnie „tekst”. Każda pomoc doceniona!
pandas < 1.0
,.drop_duplicates()
ignoruje indeks, który może dać nieoczekiwane rezultaty. Możesz tego uniknąć, używając.agg(lambda x: ','.join(x))
zamiast.transform().drop_duplicates()
.