按列中的最大和最小整数对数据帧进行分组

2024-05-16 04:05:46 发布

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

我有一个地址列表的数据框,其组织方式如下:

    number          street          city            state    zip
0     1           Green Av          Evergreen       FL       33000
1     2           Green Av          Evergreen       FL       33000
2     4           Green Av          Evergreen       FL       33000
3     1           Red Av            Evergreen       FL       33000
4     2           Red Av            Evergreen       FL       33000
5     5           Red Av            Evergreen       FL       33000
6     3           Main St           Evergreen       FL       33000
7     5           Main St           Evergreen       FL       33000
8     8           Main St           Evergreen       FL       33000

我正在寻找一种方法来获取不同df中每条街道的最小和最大房屋编号,例如:

      street            city            state    zip       min_house#   max_house#
0     Green Av          Evergreen       FL       33000       1          4
1     Red Av            Evergreen       FL       33000       1          5
2     Main St           Evergreen       FL       33000       3          8

我将如何使用熊猫来订购数据


Tags: 数据streetcity列表main地址greenred
1条回答
网友
1楼 · 发布于 2024-05-16 04:05:46

可以将group by与最小值和最大值一起使用:

df = df.groupby('street').agg(['min','max'])
df.columns = [' '.join(col).strip() for col in df.columns.values]
cols = ['number min', 'number max', 'city min', 'state min', 'zip min']
df = df[cols]
df.rename(columns={'number min':'min', 'number max':'max', 'city min':'city', 
                  'state min':'state', 'zip min':'zip'},inplace=True)


df.reset_index(inplace=True)

     street  min  max       city state    zip
0  Green Av    1    4  Evergreen    FL  33000
1   Main St    3    8  Evergreen    FL  33000
2    Red Av    1    5  Evergreen    FL  33000

相关问题 更多 >