熊猫基于单个列进行聚合,同时保留其他列

时间:2020-10-01 12:58:28

标签: python pandas

说我有以下数据框

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       |
+----------+----------+------------+

0 个答案:

没有答案
相关问题