【发布时间】:2023-02-14 10:48:53
【问题描述】:
我正在清理电影数据库。它是通过将 4 个 CSV(4 个流媒体服务的电影)合并为一个而形成的。有些电影存在于两个或多个流媒体服务上,例如 Prime 和 Hulu。
我能够将其余列与以下内容合并:
movies.groupby(compareColumns, group_keys=False)[allColumns].apply(lambda x: x.ffill().bfill())
但现在我剩下的行几乎相同,除了它们的 onPrime/onNetflix 值(0=服务不可用,1=服务可用)。
例如,我有两行是:
| name | onPrime | onHulu | otherColumn |
|---|---|---|---|
| Movie 1 | 1 | 0 | X |
| Movie 1 | 0 | 1 | X |
如何系统地合并两行以获得下面所需的输出? (我还有其他不想受到影响的专栏)
| name | onPrime | onHulu | otherColumn |
|---|---|---|---|
| Movie 1 | 1 | 1 | X |
不确定如何通过 sum、bfill、ffill 或任何内置函数来完成。
我尝试了filledgroups.fillna(value=0, axis=0, inplace=True, limit=1),其中 filledgroups 只是用于试验的两行的数据框,但它为其他列填充了 0,而我只想用 1 替换 onPrime/onHulu 的 0。
【问题讨论】:
标签: python pandas dataframe group-by