Python Pandas Using dataframe.stack().value_counts() -- 如何获取计数对象的值?

Python Pandas Using dataframe.stack().value_counts() -- How to get values of counted objects?

我有一个数据框,其中每一行代表一周中的某一天,每一列代表当天无法与服务器通信的联网设备的序列号。

我正在尝试获取整整一周都无法通信的一系列序列号。

代码块:

counts = df.stack().value_counts()
seven_day = counts[counts == 7]
for a in seven_day:
    print(a)

问题是没有打印任何东西。我想要的是序列号列表,而不是计数本身。

这个问题是以下问题的跟进: Python Pandas -- Determine if Values in Column 0 Are Repeated in Each Subsequent Column

value_counts returns 一个以值作为索引、计数作为值的系列,所以你想遍历索引:

counts = df.stack().value_counts()
seven_day = counts[counts == 7]
for a in seven_day.index:
    print(a)

应该可以

另一个解决方案是使用 Series.iteritems:

counts = df.stack().value_counts()
seven_day = counts[counts == 7]

for index, val in seven_day.iteritems():
    print(index)