pandas 在MySQL和Python中编写相同的查询时会生成不同的结果[关闭]

5sxhfpxr  于 12个月前  发布在  Mysql
关注(0)|答案(1)|浏览(102)

**已关闭。**此问题需要debugging details。目前不接受回答。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
11天前关闭
Improve this question
我有一个比萨销售数据集,下面是相同的快照。查询是找到一周中每一天的总订单。
Link to the dataset


的数据
在使用Python时,我创建了一个名为'week_day'的新列。然后给出以下查询:

data.groupby('week_day')['order_id'].nunique()

字符串
测试结果:

week_day
Friday       3359
Monday       2940
Saturday     3126
Sunday       2710
Thursday     3173
Tuesday      2978
Wednesday    3064


在MySQL中,我使用了下面的查询:

SELECT 
    DAYNAME(order_date) AS order_day, 
    COUNT(DISTINCT order_id) AS total_orders
FROM pizza_sales
GROUP BY DAYNAME(order_date);


测试结果:

order_day    total_orders
Friday       3538
Monday       2794
Saturday     3158
Sunday       2624
Thursday     3239
Tuesday      2973
Wednesday    3024


在Power BI中,在执行相同的任务时,我得到的答案类似于MYSQL。
我在Python代码中做错了什么,得到了不同的结果?

bf1o4zei

bf1o4zei1#

我认为问题出在week_day上。如果你正确地从order_date中提取一个日期名称,你应该得到正确的输出:

import pandas as pd

data = pd.read_csv("pizza_sales.csv")
data['week_day'] = pd.to_datetime(data['order_date'], format='%d-%m-%Y').dt.day_name()
data.groupby('week_day')['order_id'].nunique()

字符串
输出量:

week_day
Friday       3538
Monday       2794
Saturday     3158
Sunday       2624
Thursday     3239
Tuesday      2973
Wednesday    3024

相关问题