静静_jingjing 2020-11-23 15:27 采纳率: 11.1%
浏览 68

谁能帮我看一下这一段python代码什么意思

谁能帮我看一下这一段代码什么意思   就两行#号夹起来的那段代码具体解释一下  大概意思能看懂 想知道细节 每一步怎么运作的

因为groupy后的结果他会输出地址而不是数据  我也试过一步一输出 弄不懂


import pandas as pd

def make_item_time_pair(df):
    return list(zip(df['click_article_id'], df['click_timestamp']))

dict = {'user_id':[1, 2, 1, 4, 2, 3], 'click_article_id':[4, 5, 6, 4, 5, 6], 'click_timestamp':[8, 6, 2, 9, 7, 2]}
click_df = pd.DataFrame(dict)
click_df = click_df.sort_values('click_timestamp')

###############################
df = click_df.groupby('user_id')['click_article_id', 'click_timestamp'].apply(lambda x: make_item_time_pair(x))\
                                                                       .reset_index().rename(columns={0: 'item_time_list'})
###############################
print(df)

这是输出的结果

E:/Pycharm Project/A/main.py:33: FutureWarning: Indexing with multiple keys (implicitly converted to a tuple of keys) will be deprecated, use a list instead.
  df = click_df.groupby('user_id')['click_article_id', 'click_timestamp'].apply(lambda x: make_item_time_pair(x))\
   user_id    item_time_list
0        1  [(6, 2), (4, 8)]
1        2  [(5, 6), (5, 7)]
2        3          [(6, 2)]
3        4          [(4, 9)]

Process finished with exit code 0
  • 写回答

1条回答 默认 最新

  • PythonJavaC++go 2020-11-23 16:04
    关注

    1、按user_id分组

    2、分组后取click_article_id', 'click_timestamp'两列数据

    3、对2中的数据进行make_item_time_pair映射

    4、重设索引

    5、0列重命名为item_time_list

    评论

报告相同问题?