如何使用pandas组织数据框中的数据

时间:2016-03-30 10:32:14

标签: python pandas dataframe

我有一个像

这样的数据帧
     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

表示所有字符串都重复的年份20142015。我需要打印我的数据,如

         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

我想删除重复的字符串,而是将每对打印到第一个输出2014然后2015。 我试着这样做:

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()

但它打印不正确。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以使用pandas.DataFrame.drop_duplicates

df.drop_duplicates(subset=["used_at", "common users"])
   used_at  common users            pair of websites
0     2014          1364          avito.ru and e1.ru
2     2014          1716        avito.ru and drom.ru
4     2014          1602        avito.ru and auto.ru
6     2014           299  avito.ru and avtomarket.ru
8     2014           579          avito.ru and am.ru

subset

  

列标签或标签序列,可选仅考虑确定   用于标识重复项的列,默认情况下使用所有列