鉴于pandas DF看起来像这样:
Http
我正在尝试获取每个键的每个值的计数,即:
key value
0 0 A
1 0 A
2 1 A
3 1 B
4 2 C
5 2 B
6 2 B
我正在使用此代码,这证明对我的需求来说太慢了(实际数据大约是20,000个密钥,200个唯一值,每个密钥大约100个值)。为什么它变慢,我该怎么做才能让它更快?
key A B C
0 0 2 0 0
1 1 1 1 0
2 2 0 2 1
答案 0 :(得分:2)
您可以尝试crosstab
和reset_index
:
df = pd.crosstab(df['key'], df['value']).reset_index()
df.columns.name=None
print df
key A B C
0 0 2 0 0
1 1 1 1 0
2 2 0 2 1