说我有以下数据框
d = {'name_col': ['name1', 'name2', 'name1'], 'tag_col': ['tag1', 'tag2', 'tag3'], 'time': ['08:17', '9:20', '08:18']}
df = pd.DataFrame(data=d)
+----------+---------+-------+
| name_col | tag_col | time |
+----------+---------+-------+
| name1 | tag1 | 08:17 |
+----------+---------+-------+
| name2 | tag2 | 9:20 |
+----------+---------+-------+
| name1 | tag3 | 08:18 |
+----------+---------+-------+
我想通过name_col
来汇总tag_col
,即通过使用下面的内容,我可以得到下面的输出
df_final.groupby('name_col ')['tag_col '].agg(';'.join).reset_index(name='tag_col ')
+----------+------------+
| name_col | tag_col |
+----------+------------+
| name1 | tag1; tag3 |
+----------+------------+
| name2 | tag2 |
+----------+------------+
但是,我需要保留time
,但是由于该列的值可以在相同的name_col
下改变,因此我无法进行汇总。在那种情况下,我只想取time
的第一个值,并输出类似
+----------+----------+------------+
| name_col | tag_col | time |
+----------+----------+------------+
| name1 | tag1;tag3| 08:17 |
+----------+----------+------------+
| name2 | tag2 | 9:20 |
+----------+----------+------------+