【发布时间】:2018-06-15 21:08:35
【问题描述】:
假设我有一个名为 mydf 的 pandas 数据框。即,
import pandas as pd
mydf = pd.DataFrame({
'type':['A','A','A', 'B','B','B', 'C'],
'state':['NY','CA','NY', 'NY','CA','CA', 'WY'],
'date':['2018-01-02','2018-01-04','2018-02-06',
'2018-01-01','2018-01-24','2018-02-10','2018-01-24']
})
Out[28]:
date state type
0 2018-01-02 NY A
1 2018-01-04 CA A
2 2018-02-06 NY A
3 2018-01-01 NY B
4 2018-01-24 CA B
5 2018-02-10 CA B
6 2018-01-24 WY C
我想要一个表格,用于计算 A 类型的所有记录、所有记录(A、B、C 类型)的每个州和日期(仅年月而不是每天的日期)的记录总数,然后每组中A占总数的百分比。
即,最终输出将是另一个具有以下列和值的 pandas 数据框:
date_ym state total_count total_type_A percentage
20181 CA 2 1 50
20181 NY 2 1 50
20181 WY 1 0 0
20182 CA 1 0 0
20182 NY 1 1 50
我可以创建两个表,然后将它们合并然后计数,但我正在寻找更简单的单行代码...
【问题讨论】: