用python把相同名称的放在一起_python – 将具有相同列值的连续行组合在一起

@ rfan的回答当然有效,作为替代,这是使用熊猫

groupby的方法.

.groupby()按“b”列对数据进行分组 – sort = False是保持订单完整所必需的. .apply()将函数应用于每组b数据,在这种情况下,将字符串连接在一起,用空格分隔.

In [67]: df.groupby('b', sort=False)['a'].apply(' '.join)

Out[67]:

b

DT The

Org Skoll Foundation

, ,

VBN based

IN in

Location Silicon Valley

Name: a, dtype: object

编辑:

为了处理更一般的情况(重复的非连续值) – 一种方法是首先添加一个跟踪列,该列跟踪每行适用的连续数据组,如下所示:

df['key'] = (df['b'] != df['b'].shift(1)).astype(int).cumsum()

然后将密钥添加到groupby中,即使重复值也应该有效.例如,使用带有重复的虚拟数据:

df = DataFrame({'a': ['The', 'Skoll', 'Foundation', ',',

'based', 'in', 'Silicon', 'Valley', 'A', 'Foundation'],

'b': ['DT', 'Or

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值