合并列中的行并删除空行

2024-09-30 01:32:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图得到下面的输出,但我不知道如何正确表达它。基本上,我需要将Address列合并成一行,并删除空行。下面是我的预期输出,还有一个可复制的示例

预期输出

    Bank           Address                Distance
0   A   Townhall Road #01-1001               10 
1   B   MapleTree Castle 10 Pathway 31       99

可复制示例

import pandas as pd 

data = {'Bank':['A', '', 'B', '', ''], 
        'Address':['Townhall Road', '#01-1001', 'MapleTree', 'Castle 10', 'Pathway 31'],
        'Distance':['10', '', '99', '', '']} 

pd.DataFrame(data) 

示例数据帧

    Bank    Address   Distance
0   A   Townhall Road   10
1       #01-1001    
2   B   MapleTree       99
3       Castle 10   
4       Pathway 31  

Tags: import示例pandasdataaddressascastledistance
1条回答
网友
1楼 · 发布于 2024-09-30 01:32:11

首先用空字符串替换空值,并向前填充缺少的值。然后将^{}与聚合join^{}一起使用:

df['Bank'] = df['Bank'].replace('', np.nan).ffill()
df = df.groupby('Bank', as_index=False).agg({'Address':' '.join, 'Distance':'first'})
print (df)
  Bank                         Address Distance
0    A          Townhall Road #01-1001       10
1    B  MapleTree Castle 10 Pathway 31       99

相关问题 更多 >

    热门问题