基于列表值聚合 DataFrame [英] Aggregate DataFrame base on list values

查看:52
本文介绍了基于列表值聚合 DataFrame的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有下一个问题.

我有一个包含字符串值的列表:

I have a list with string values:

a = ['word1', 'word2', 'word3', 'word4', ..., 'wordN']

我有带值的数据框:

+--------------+----------+-----------+
| keywords | impressions  | clicks     | 
+--------------+----------+-----------+
| word1    | 1245523      |   12321231 |              
+--------------+----------+-----------+
| word2    | 4212321      |  12312312  |      
+--------------+----------+-----------+
........................................

如果关键字列中满足列表中的单词,请建议我如何使用列表中的列值以及展示次数和点击次数列的总和创建特定的聚合数据框.

Please advice me on how to create a specific, aggregated dataframe with column values from list and with sum of the impressions and clicks columns if the word from list is met in keyword column.

我尝试使用 iterrows() 方法遍历数据帧,但它不适用于这种情况.

I've tried to iterate through dataframe with iterrows() method but it does not work for this situation.

推荐答案

找到方法:

b = []
for i in a:
  b.append((a, checking_data[checking_data['keywords'].str.contains(a)][['impressions', 'clicks']].sum().values[0], 
               checking_data[checking_data['keywords'].str.contains(a)][['impressions', 'clicks']].sum().values[1]))


groupedOne_df = pd.DataFrame.from_records(b, columns = ['keywords', 'impressions', 'clicks'])

现在您可以根据这些值创建一个 pandas df.

Now you can create a pandas df from those values.

这篇关于基于列表值聚合 DataFrame的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆