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
我将如何使用 pandas 对数据进行排序?
解决方案
您可以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
推荐阅读
- powershell - 使用 Powershell 编辑制表符分隔的文本文件中的列
- terraform - 使用 Terraform 将 EFS 挂载到 AWS Fargate - PlatformTaskDefinitionIncompatibilityException 错误:
- javascript - Javascript 存储输出和下载文件
- java - 如何根据未来日期/时间对 Firebase 实时数据库中的数据进行排序
- c# - 从字符串编码æ ø å
- reactjs - 如何使用 react-bootstrap 在轮播中添加视频?
- php - 限制从网络浏览器访问文件夹,但只能通过我的网站访问
- javascript - 将属性的 JSON 字符串解析为多个发送到同一端点
- php - 从 txt 文件中的字符串中删除行
- google-apps-script - 如何将值推送到列 Google Sheets App Script