我有一个.csv的输出口述确认时间在一天中的每一张票被创建。我试图得到总门票确认为每个人每天。以下是实际行数为1000的示例数据:
Date_Created,Confirmed_By
4/6/2022 10:35,Bob
4/6/2022 11:39,Bob
4/6/2022 12:19,Tim
4/7/2022 7:08,Bob
4/7/2022 7:30,Sally
4/7/2022 7:35,Bob
4/8/2022 8:09,Sally
4/8/2022 8:28,Jack
4/8/2022 8:40,Jack
4/8/2022 10:00,Sally
4/8/2022 10:23,Jack
我希望看到一个表,第一列是日期列表,随后的列是每个日期的总确认数:
| 日期|鲍勃|蒂姆|杰克|莎莉|
| --|--|--|--|--|
| 2022-04-06 2022-04-06| 2 | 1 | 0 | 0 |
| 2022-04-07 2022-04-07| 2 | 0 | 0 | 1 |
| 2022-04-08 2022-04-08| 0 | 0 | 3 | 2 |
我试着把CSV拉到一个框架中,并使用value_counts()为每个人创建一个系列,但我永远不会100%的名字,因为我们会有随机的填充,不会被考虑。
Bob = df[df["Confirmed By"].str.contains("Bob")]
Bob_Days = Bob["Date_Confirmed"].value_counts().rename("Bob")
conf_per_day = pd.concat(
[Bob_Days, Tim_Days, Jack_Days, Sally_Days], axis=1
)
然后我尝试了一个df.value_count().to_frame('counts').reset_index()
,它在单独的行上给出了日期、名称和总数,但不知道如何在没有重复日期的情况下将这些名称旋转到列中。对于每人每天的确认总数有什么想法吗?
3条答案
按热度按时间mxg2im7a1#
使用
crosstab
czq61nw12#
我会这么做
tjrkku2a3#
一种可能的方法是使用
resample()
和value_counts()
:或
输出量: