You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas DataFrame按port_count排序失效问题求助

修正后的Pandas代码实现需求

首先确保你的Excel数据至少包含IP和Port两列,以下是能实现按开放端口数量降序排序、展示各IP对应端口列表的代码:

import pandas as pd

# 1. 读取Excel文件,替换成你的实际文件路径
df = pd.read_excel('your_file.xlsx')

# 2. 聚合每个IP的端口列表,并统计端口数量
aggregated_data = df.groupby('IP').agg(
    开放端口列表=('Port', list),
    端口数量=('Port', 'count')
).reset_index()

# 3. 按端口数量降序排序
sorted_data = aggregated_data.sort_values(by='端口数量', ascending=False)

# 4. 输出结果
print(sorted_data[['IP', '端口数量', '开放端口列表']])

常见问题排查

  • 如果你之前的代码没做groupby聚合就直接排序,那肯定得不到按IP端口数排序的结果——因为原始数据是每行一个IP+端口的结构,排序只会针对单条端口记录,而非IP的总端口数。
  • 若聚合后没加reset_index(),groupby后的结果会把IP设为索引,后续排序可能出现索引混乱的情况,加上reset_index()能把IP变回普通列,方便后续操作。
  • 确认排序时指定的列名是聚合后的端口数字段(比如上面的端口数量),别写错列名导致排序失效。

内容的提问来源于stack exchange,提问作者timlaw71

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 21:55:20