当前位置: 首页 > 面试题库 >

将Counter对象转换为Pandas DataFrame

宗政博
2023-03-14
问题内容

我用Counter一个列表来计算此变量:

final = Counter(event_container)

最终印刷品给出:

Counter({'fb_view_listing': 76, 'fb_homescreen': 63, 'rt_view_listing': 50, 'rt_home_start_app': 46, 'fb_view_wishlist': 39, 'fb_view_product': 37, 'fb_search': 29, 'rt_view_product': 23, 'fb_view_cart': 22, 'rt_search': 12, 'rt_view_cart': 12, 'add_to_cart': 2, 'create_campaign': 1, 'fb_connect': 1, 'sale': 1, 'guest_sale': 1, 'remove_from_cart': 1, 'rt_transaction_confirmation': 1, 'login': 1})

现在,我想转换final为Pandas DataFrame,但是在执行操作时:

final_df = pd.DataFrame(final)

但我有一个错误。

我猜final不是正确的字典,那么如何转换final成字典?还是转换final为的另一种方式DataFrame


问题答案:

您可以使用from_dict并传递param进行构造orient='index',然后调用reset_index以获取2列df:

In [40]:
from collections import Counter
d = Counter({'fb_view_listing': 76, 'fb_homescreen': 63, 'rt_view_listing': 50, 'rt_home_start_app': 46, 'fb_view_wishlist': 39, 'fb_view_product': 37, 'fb_search': 29, 'rt_view_product': 23, 'fb_view_cart': 22, 'rt_search': 12, 'rt_view_cart': 12, 'add_to_cart': 2, 'create_campaign': 1, 'fb_connect': 1, 'sale': 1, 'guest_sale': 1, 'remove_from_cart': 1, 'rt_transaction_confirmation': 1, 'login': 1})
df = pd.DataFrame.from_dict(d, orient='index').reset_index()
df

Out[40]:
                          index   0
0                         login   1
1   rt_transaction_confirmation   1
2                  fb_view_cart  22
3                    fb_connect   1
4               rt_view_product  23
5                     fb_search  29
6                          sale   1
7               fb_view_listing  76
8                   add_to_cart   2
9                  rt_view_cart  12
10                fb_homescreen  63
11              fb_view_product  37
12            rt_home_start_app  46
13             fb_view_wishlist  39
14              create_campaign   1
15                    rt_search  12
16                   guest_sale   1
17             remove_from_cart   1
18              rt_view_listing  50

您可以将列重命名为更有意义的名称:

In [43]:
df = df.rename(columns={'index':'event', 0:'count'})
df

Out[43]:
                          event  count
0                         login      1
1   rt_transaction_confirmation      1
2                  fb_view_cart     22
3                    fb_connect      1
4               rt_view_product     23
5                     fb_search     29
6                          sale      1
7               fb_view_listing     76
8                   add_to_cart      2
9                  rt_view_cart     12
10                fb_homescreen     63
11              fb_view_product     37
12            rt_home_start_app     46
13             fb_view_wishlist     39
14              create_campaign      1
15                    rt_search     12
16                   guest_sale      1
17             remove_from_cart      1
18              rt_view_listing     50


 类似资料:
  • 问题内容: 我有一个JSON对象,我将其转换为并在此处进行一些处理。稍后,我想转换相同的缓冲区数据以转换为有效的JSON对象。 我正在研究Node V6.9.1 下面是我尝试过的代码,但是当我转换回JSON却无法打开该对象时遇到了。 所以我尝试使用检查方式打印整个对象 如果我尝试像数组一样读取它 我也尝试解析它抛出 我需要将其视为我创建的真实对象(我的意思是像上面声明的那样)。 请帮忙.. 问题答

  • 我正试图将下面的json转换成java bean,需要你的帮助 Sort.json 我的豆子看起来像 我的测试课是 我看到的错误是 请建议:

  • 例如:Date值为:“dateCollected”:fri Jul 07 00:00:00 IST 1989, 但它只服用星期五而不是整个日期。

  • 问题内容: 我正在将struts2用于Action,将jquery用于UI … 我想知道如何将Map对象转换为JSON对象并将其发送回UI, 现在可以在JSP页面中将其打印为普通的Java Map对象: 但我希望它是这样的: 我将如何实现这一目标…? 问题答案: 尝试Gson: 不过,我不建议将这种代码放入JSP。诸如此类的事情应该存在于Servlet或Action类之类的控制器中。 您还绝对不希

  • 问题内容: 我对服务进行了调用,并将响应存储在中。但是,我试图将其转换为类对象并得到错误。这是我的代码: 响应如下所示: 这是该类的样子: 但是我得到了错误: 我究竟做错了什么? 编辑1: 这是从答案中使用gson的尝试: 但是我得到了错误: 问题答案: 找出问题所在。需要提取jsonobject而不是获取字符串。这是解决此问题的行:

  • 我需要将实体对象转换为json。我把 到 servlet 配置文件,因此 Spring 可以自动将对象转换为 json 格式。但Spring没有这样做。我还在项目中添加了杰克逊罐子。 控制器方法 小组学生 } 在浏览器中,我发现我有 406 错误和错误窗口错误[对象对象]。 如果有人知道问题出在哪里,我会很高兴得到帮助。 谢谢。