如何解决如何在熊猫数据框中聚合然后扩展频率值
我的数据框具有以下形状:
select split_part(name,' ',1) as first_name,split_part(name,2) as last_name
from t;
我想首先基于t colmun进行聚合,然后展开以在w列中显示每个项目的频率。换句话说,我想要以下结果:
import pandas as pd
l = []
l.append({"t":'a','w': 'x'})
l.append({"t":'a','w': 'y'})
l.append({"t":'b','w': 'z'})
l.append({"t":'b','w': 'y'})
df = pd.DataFrame(l)
这怎么可能?我尝试了许多不同的方法,但没有结果。
解决方法
value_counts
现在接受两列
df.value_counts(['t','w'])
Out[6]:
t w
b y 3
a x 2
b z 1
a y 1
dtype: int64
,
df让我们尝试MODE(transactions.sessions.device)
:
groupby().value_counts()
还可以,df.groupby(['t'])['w'].value_counts().reset_index(name='freq')
:
groupby().size()
输出:
df.groupby(['t','w']).size().reset_index(name='freq')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。