Python Pandas 使用 dataframe.stack().value_counts() - 如何获取计数对象的值?
Posted
技术标签:
【中文标题】Python Pandas 使用 dataframe.stack().value_counts() - 如何获取计数对象的值?【英文标题】:Python Pandas Using dataframe.stack().value_counts() -- How to get values of counted objects? 【发布时间】:2017-03-09 00:22:02 【问题描述】:我有一个数据框,其中每一行代表一周中的某一天,每一列代表当天与服务器通信失败的联网设备的序列号。
我正在尝试获取一整周未能通信的一系列序列号。
代码块:
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
【问题讨论】:
你想遍历索引seven_day = counts[counts == 7] for a in seven_day.index: print(a)
【参考方案1】:
value_counts
返回一个 Series,其中值作为索引,计数作为值,所以你想遍历索引:
counts = df.stack().value_counts()
seven_day = counts[counts == 7]
for a in seven_day.index:
print(a)
应该工作
【讨论】:
就是这样。感谢@EdChum 在这两个问题上帮助我。【参考方案2】:另一种解决方案是使用Series.iteritems
:
counts = df.stack().value_counts()
seven_day = counts[counts == 7]
for index, val in seven_day.iteritems():
print(index)
【讨论】:
以上是关于Python Pandas 使用 dataframe.stack().value_counts() - 如何获取计数对象的值?的主要内容,如果未能解决你的问题,请参考以下文章
Python中DataFrames的DataFrame(Pandas)
Python pandas.DataFrame.applymap函数方法的使用
Python pandas.DataFrame.cumprod函数方法的使用
Python pandas.DataFrame.loc函数方法的使用