首页 > 解决方案 > Python - 如何从非数字数据在熊猫中制作交叉表?

问题描述

所以,问题是我需要从字符串数据创建一个交叉表。我的意思是,就像在 excel 中一样,如果您将一些字符串数据放入交叉表中,它将根据其他因素自动转换为计数值。例如,我有包含申请号的“A”列和包含日期的“B”列。我需要显示每天有多少应用程序被放置。经典交叉表返回错误。

data.columns = [['applicationnumber', 'date', 'param1', 'param2', 'param3']] #mostly string values

输入数据示例:applicationnumber = "AAA12345678" date = 'YYYY-MM-DD'

标签: pythonpandasnumpyscipydata-science

解决方案


这是你想要的:

df = pd.DataFrame([['app1', '01/01/2019'],
                   ['app2', '01/02/2019'],
                   ['app3', '01/02/2019'],
                   ['app4', '01/02/2019'],
                   ['app5', '01/04/2019'],
                   ['app6', '01/04/2019']],
                  columns=['app.no','date'])

print(pd.pivot_table(df, values='app.no', index='date', aggfunc=np.size))

输出:

            app.no
date              
01/01/2019       1
01/02/2019       3
01/04/2019       2

推荐阅读