For循环(嵌套)与Pandas的value_counts()

时间:2018-11-22 09:26:11

标签: python python-3.x pandas dataframe for-loop

我有一个Section B,如下所示:

enter image description here

现在我想做DataFrame,但是我遇到的问题是当我使用以下代码时:

value_counts()

我得到以下错误结果:

enter image description here

但是我需要以下内容:

enter image description here

1 个答案:

答案 0 :(得分:0)

value_counts + melt

您可以将value_counts应用于每个系列,然后融化数据框:

df = pd.DataFrame({'01-01-2018': [1, 2, 3, 4, 1, 2],
                   '02-01-2018': [4, 2, 3, 1, 3, 1]})

res = df.apply(pd.Series.value_counts).reset_index()
res = pd.melt(res, id_vars='index')
res.columns = ['Code', 'Date', 'Freq']

print(res)

   Code        Date  Freq
0     1  01-01-2018     2
1     2  01-01-2018     2
2     3  01-01-2018     1
3     4  01-01-2018     1
4     1  02-01-2018     2
5     2  02-01-2018     1
6     3  02-01-2018     2
7     4  02-01-2018     1