如何从以下DataFrame
获得预期结果 df
col_1 col_2 col_3
0 Non-Saved www.google.com 20,567
1 www.facebook.com
2 www.linkedin.com
3 Saved www.Quora.com 6,337
4 www.gmail.com
预期结果:
col_1 col_2 col_3
0 Non-Saved www.google.com 20,567
www.facebook.com
www.linkedin.com
1 Saved www.Quora.com 6,337
www.gmail.com
通过合并col_1和col_3中的空字符串,从5行到2行。此外,将col_2中的值连接到一个单元格中。任何人都可以帮助我使用用户定义的函数来执行此操作吗?
答案 0 :(得分:2)
让我们试试:
df = df.apply(lambda x: x.str.strip()).replace('',np.nan)
df.groupby(df.col_1.ffill())\
.agg({'col_2': lambda x: ' '.join(x) ,'col_3':'first'})\
.reset_index()
输出:
col_1 col_2 col_3
0 Non-Saved www.google.com www.facebook.com www.linkedin.com 20,567
1 Saved www.Quora.com www.gmail.com 6,337