【问题标题】:Pandas returning object type instead of valuesPandas 返回对象类型而不是值
【发布时间】:2017-10-06 20:07:05
【问题描述】:

我有以下代码:

import pandas as pd
df=pd.read_csv('Fortigate-Inbound traffic from blacklisted IP.csv')
df2= df[df['Device Action']=='Accept']
df3 = df2.groupby(['Destination Address', 'Sum(Aggregated Event Count)'])
print(df3)

它返回 0x0000016F627C3208 处的 pandas.core.groupby.DataFrameGroupBy 对象,而不是数据框中的实际值。我怎样才能让它打印值?

【问题讨论】:

  • 阅读有关 pandas 的文档会让您受益。
  • 它正在打印一个 groupby 对象,这正是你告诉它要做的事情。
  • 您只是想查看组还是想进行一些聚合(每个组的列总和,每个组的列大小等)

标签: python pandas


【解决方案1】:

我认为你需要aggregation by sum:

df3 = df2.groupby('Destination Address', as_index=False)['Aggregated Event Count'].sum()

示例:

df2 = pd.DataFrame({'Destination Address':['a','a','a', 'b'],
                   'Aggregated Event Count':[1,2,3,4]})
print (df2)
   Aggregated Event Count Destination Address
0                       1                   a
1                       2                   a
2                       3                   a
3                       4                   b

df3 = df2.groupby('Destination Address', as_index=False)['Aggregated Event Count'].sum()
print (df3)
  Destination Address  Aggregated Event Count
0                   a                       6
1                   b                       4

另一种解决方案:

df3 = df2.groupby('Destination Address')['Aggregated Event Count'].sum().reset_index()
print (df3)
  Destination Address  Aggregated Event Count
0                   a                       6
1                   b                       4

【讨论】:

    猜你喜欢
    • 2021-07-05
    • 1970-01-01
    • 2012-08-25
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 2016-02-16
    相关资源
    最近更新 更多