gpt4 book ai didi

python - 如何按列值的计数进行分组并对其进行排序?

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:32 24 4
gpt4 key购买 nike

如何按列值的计数进行分组并对其进行排序?

我是 Pandas 学习者。

我有一个名为 data.log 的原始数据框。现在我想按“c-ip-1”对数字进行分组,并对结果进行排序。

原始data.log:

   sc-status  sc-substatus  sc-win32-status  time-taken       c-ip-1
0 200 0 0 986 31.7.188.55
1 200 0 0 2539 31.7.188.55
2 200 0 0 1172 31.7.188.56
3 200 0 0 3152 31.7.188.80
4 200 0 0 1091 31.7.188.80
...
99 200 0 0 1115 31.9.200.60
100 200 0 0 2000 31.9.200.61

期望结果如下:

         c-ip-1                 count
0 31.7.188.56 1
1 31.9.200.61 1
2 31.7.188.55 2
...
34 31.9.200.60 5

我尝试编写 python 代码并运行它,但失败了:

import pandas as pd

df = pd.read_table('data.log', sep=" ")

print(df[['c-ip-1']].groupby(['c-ip-1']).agg(['count'])

如何使用python解决问题?

最佳答案

我认为您需要按 GroupBy.size 进行汇总, 然后 Series.sort_values最后Series.reset_index :

#better is more general separator `\s+` - one or more whitespaces
df = pd.read_table('data.log', sep="\s+")

df1 = df.groupby('c-ip-1').size().sort_values().reset_index(name='count')
print (df1)
c-ip-1 count
0 31.7.188.56 1
1 31.9.200.60 1
2 31.9.200.61 1
3 31.7.188.55 2
4 31.7.188.80 2

What is the difference between size and count in pandas?

关于python - 如何按列值的计数进行分组并对其进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44993062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com