【发布时间】:2021-04-27 20:58:13
【问题描述】:
我的 python 代码有问题。我正在尝试合并数据框中的行。我有类似的东西:
| CODE_ID | SIZE | 1 | 2 | 3 | 4 | ... | 18 | CODE |
|---|---|---|---|---|---|---|---|---|
| 12345 | Big | X | . | . | . | ... | . | abc |
| 12345 | Big | . | X | . | . | ... | . | def |
| 67890 | Medium | . | . | . | X | ... | . | ghi |
| 67890 | Medium | . | . | X | . | ... | . | jkl |
| 13579 | Small | . | . | . | X | ... | . | xyz |
我想按 CODE_ID 合并重复项,但我想加入 CODE 列中的字符串。就这样:
| CODE_ID | SIZE | 1 | 2 | 3 | 4 | ... | 18 | CODE |
|---|---|---|---|---|---|---|---|---|
| 12345 | Big | X | X | . | . | ... | . | abc; def |
| 67890 | Medium | . | . | X | X | ... | . | ghi; jkl |
| 13579 | Small | . | . | . | X | ... | . | xyz |
我是用 agg 做的,但这只是工作的一部分。
g_df = df.groupby("CODE_ID")
group = g_df["CODE"].agg(lambda column: "; ".join(column))
group = group.reset_index(name="CODE")
因为结果是这样的:
| CODE_ID | CODE |
|---|---|
| 12345 | abc; def |
| 67890 | ghi; jkl |
| 13579 | xyz |
如何添加其余列?或者也许这是错误的做法?
【问题讨论】:
标签: python pandas dataframe aggregate unique