合并来自熊猫数据框的列

时间:2021-07-23 16:53:12

标签: python pandas

最近一天左右,我一直在为这个问题苦苦挣扎。我正在尝试合并按电子邮件和商店分组的数据框中的多列。

我目前有一个数据框:

df = module.get("/test.xlsx"), format="excel"

结果:

<头>
电子邮件 商店 订单1 Order2 Order3
test@email.com 位置 1 3457834 123434 345678
test@email.com 位置 2 4232234 123456 348902
tes2t@email.com 位置 3 2346442 123432

唯一的区别是表格从 Order1Order20

期望的结果是将所有订单号合并到一个带有换行符的单列中,如果订单号为空,例如最后一行的 Order3 则停止。永远不会出现 Order3 为空而订单 4-20 不为空的情况。它只是按数据源的顺序打印。

<头>
电子邮件 商店 订单
test@email.com 位置 1 3457834\n123434\n345678
test@email.com 位置 2 4232234\n123456\n348902
tes2t@email.com 位置 3 2346442\n123432

任何有关如何开始的帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

试试这个:

df_orders = df.filter(like='Order')
df['Orders'] = df_orders.apply(lambda x: '\n'.join(x[~x.isnull()].values.astype(str)), axis=1)