我已经根据您的示例创建了一个模拟数据集:
import pandas as pd
import numpy as np
df = pd.DataFrame({
"ID": ["1", "1", "2", "3", "3", "3"],
"Data 1": ["data11", "data11", "data12", "data13", "data13", "data13"],
"Data 2": ["data21", "data21", "data22", "data23", "data23", "data23"],
"Design Code": ["a", "b", "c", "d", "e", "f"]
})
您可以对GROUPBY中的不同列应用不同的聚合,以获得预期的结果,例如:
df \
.groupby("ID", as_index=False) \
.agg({
"Data 1": min,
"Data 2": min,
"Design Code": lambda x: "\n".join(np.unique(x)),
})
输出:
ID Data 1 Data 2 Design Code
0 1 data11 data21 a\nb
1 2 data12 data22 c
2 3 data13 data23 d\ne\nf
至于Design Code
带换行符的显示,如果你使用的是Jupyter笔记本,你可以参考https://stackoverflow.com/a/46326725/22052558.