首页 > 解决方案 > Pandas:GroupdBy 直到下一行具有不同的值

问题描述

从上周开始使用 Pandas 并使用聊天数据库进行练习。

我一直试图将数据组织成模式和响应。

这就是我所拥有的:

    Name    Content
0   patterns    Hi...
1   patterns    Yeaah
2   patterns    
3   patterns    Wellcome!!!
4   patterns    
5   patterns     remember what we've said...
6   responses   where are you?
7   patterns    here
8   patterns    I'll be there...
9   responses   Next to Thyssen
10  responses   eh?

我想弄清楚什么。

将所有组合在一起的模式或响应组合成一行。他们的“内容”用逗号分隔。尝试了很多方法。这是我认为看起来更应该的那个。但还是不好:(

for row in df.head().itertuples():
if df['Name' == 'patterns']:
    df_first = df.groupby('Name').apply(lambda x: "{%s}" % ', '.join(x)).shift('response')
return df
df

结果应该是这样的:

    Name    Content
0   patterns    Hi..., Yeaah, , Wellcome!!!, ,  remember what we've said...
6   responses   where are you?
7   patterns    here, I'll be there...
10  responses   Next to Thyssen, eh?

有什么建议我怎么能做到这一点?

感谢您的时间!

标签: pythondatabasepandasdata-science

解决方案


推荐阅读