Ich habe einen Datenrahmen wieWie Daten in einem Datenrahmen mit Pandas organisieren
used_at common users pair of websites
0 2014 1364 avito.ru and e1.ru
1 2014 1364 e1.ru and avito.ru
2 2014 1716 avito.ru and drom.ru
3 2014 1716 drom.ru and avito.ru
4 2014 1602 avito.ru and auto.ru
5 2014 1602 auto.ru and avito.ru
6 2014 299 avito.ru and avtomarket.ru
7 2014 299 avtomarket.ru and avito.ru
8 2014 579 avito.ru and am.ru
9 2014 579 am.ru and avito.ru
für die Jahre 2014
und 2015
wo alle Strings dupliziert werden. Ich brauche meine Daten wie drucken
used_at common users pair of websites
0 2014 1364 avito.ru and e1.ru
1 2015 1208 avito.ru and e1.ru
2 2014 1716 avito.ru and drom.ru
3 2015 897 avito.ru and drom.ru
Ich mag doppelte Strings löschen und stattdessen jedes Paar zum ersten Ausgang 2014
drucken und dann 2015
. Ich habe versucht, dies zu tun:
all_common_users = df.groupby([df['used_at'].dt.year]).apply(f).reset_index(drop=True, level=1).reset_index()
common_users = all_common_users.groupby(all_common_users.index/2).first().sort_values('pair of websites')
# keep only 'interesting' columns
common_users = common_users[['pair of websites','used_at','common users']]
common_users.columns = ['pair of websites','year','common users']
df = common_users[common_users.groupby('pair of websites')['common users']].sort_values('pair of websites', ascending=False).reset_index()
Aber es druckt falsch. Was habe ich falsch gemacht?
Es löscht doppelte Zeichenketten. Wie kann es nach "paar Websites" sortieren? Ich versuche 'sort_values ('Paar von Websites', aufsteigend = False). ', Aber nicht alle Paare wurden sortiert. Einige sind außer Betrieb –
Es sollte so funktionieren, wie Sie es taten. Ansonsten stelle eine andere Frage mit dem, was du hast, was du möchtest und was du versucht hast. – jrjc
@ user116873 Wenn es die Frage beantwortet, akzeptiere es, damit andere wissen, dass es dein Problem behoben hat. – jrjc