【发布时间】:2019-11-22 05:20:21
【问题描述】:
我有带有列的 DataFrame(句点、spn、cpt、付款人)。我必须仅连接 2 个周期的列(付款人)值(仅滚动两个月)。 DF样本:
period spn cpt payer
7/1/2018 a 23 UNITED, HEALTH
7/1/2018 a 24 CARE, MEDI
7/1/2018 b 23 ASSIGN
8/1/2018 a 23 ASSIGN
8/1/2018 a 24 CARE, MEDI
8/1/2018 b 23 ASSIGN, MEDI
9/1/2018 a 23 ASSIGN
9/1/2018 a 24 MEDI
9/1/2018 b 23 ASSIGN, MEDI
我尝试过:
df.groupby(['spn', 'cpt'])['payer'].transform(lambda x: x.rolling(2, min_periods = 1).apply(', '.join, raw=False))
我收到一个错误:无法处理此类型 -> 对象。
因此将列(付款人)转换为字符串类型并尝试使用与上述相同的代码。但我得到了同样的错误。请帮我解决这个问题。
预期结果
period spn cpt payer payer_concate
7/1/2018 a 23 UNITED, HEALTH UNITED, HEALTH, ASSIGN
7/1/2018 a 24 CARE, MEDI CARE, MEDI, CARE, MEDI
7/1/2018 b 23 ASSIGN ASSIGN, ASSIGN, MEDI
8/1/2018 a 23 ASSIGN ASSIGN, ASSIGN
8/1/2018 a 24 CARE, MEDI CARE, MEDI, MEDI
8/1/2018 b 23 ASSIGN, MEDI ASSIGN, MEDI, ASSIGN, MEDI
9/1/2018 a 23 ASSIGN ASSIGN
9/1/2018 a 24 MEDI MEDI
9/1/2018 b 23 ASSIGN, MEDI ASSIGN, MEDI
提前致谢
【问题讨论】:
-
不分享截图,你能分享一些我们可以复制的东西吗?至少使用
print()分享,以便我们复制粘贴并解决您的问题 -
感谢您的浏览。我已经用值替换了图像(可以复制和工作)。
标签: python pandas datetime pandas-groupby string-concatenation