Python:groupby正在删除列

2024-06-17 13:09:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题是,在GROUPBY之后,我在函数和索引中留下了其他列。我想得到groupby和index之后的所有列。我怎样才能解决这个问题

守则:

import pandas as pd


df = pd.read_excel('C:/Users/ja/Inne/Desktop/my.xlsx')
df2 = df.groupby('lokalny_id')['url'].agg(','.join)
df2 = pd.DataFrame(df2)

我的数据帧:

    lokalny_id  url year    fid status
0   1234    73678_919317_M-33-35-D-a-1-4.tif    2022    123 w.
1   12  73678_919385_M-33-23-A-r-6-2.tif    2023    2   z.
2   1234    73678_919317_M-33-35-D-a-1-4.tif    2022    123 w.
3   13  73678_919385_M-33-23-O-k-2-3.tif    2020    3   z.
4   1234    73678_919317_M-33-35-D-a-1-4.tif    2022    123 w.
5   15  73678_919385_M-33-23-B-z-1-7.tif    2012    5   z.
6   17  73678_919385_M-33-23-D-c-2-9.tif    2013    6   o.

分组人之后: enter image description here


Tags: 函数importidurlpandasdfindexas
1条回答
网友
1楼 · 发布于 2024-06-17 13:09:27

应将不希望聚合的所有列添加到索引中,并在完成后重置索引:

df2 = df.groupby(['lokalny_id', 'year', 'fid'])['url'].agg(','.join).reset_index()

正如预期的那样:

   lokalny_id  year  fid                                                url
0          12  2023    2                   73678_919385_M-33-23-A-r-6-2.tif
1          13  2020    3                   73678_919385_M-33-23-O-k-2-3.tif
2          15  2012    5                   73678_919385_M-33-23-B-z-1-7.tif
3          17  2013    6                   73678_919385_M-33-23-D-c-2-9.tif
4        1234  2022  123  73678_919317_M-33-35-D-a-1-4.tif,73678_919317_...

相关问题 更多 >