因此,我有試圖分析的銷售資料。我有日期資料["訂單日期時間"],我想看看最常見的銷售時間,但更重要的是我想看看哪幾分鐘沒有銷售。
我已經轉了好一陣子了,我的腦子里沒有一個解決方案。如果有任何幫助,我將不勝感激。
uj5u.com熱心網友回復:
假設你在每天的谷物上有銷售。首先,加載你的銷售。第二,加載你有興趣研究的每一個日歷日(讓我們以1月的幾天為例)。你需要根據你的 "日歷 "向你的銷售資料進行左鍵連接,然后將你的na值填充為0,以表示那天沒有銷售。
import pandas as pd
銷售資料=[
['2020-01-01', 0.25] 。
['2020-01-02', 1.40] 。
['2020-01-04', 2.34] 。
['2020-01-07', 1.54] 。
['2020-01-08', 1.47].
]
cols = ['date','sales']
nosales=[
['2020-01-01', 0] 。
['2020-01-02'/span>, 0],
['2020-01-03', 0]。
['2020-01-04', 0]。
['2020-01-05', 0]。
['2020-01-06', 0]。
['2020-01-07', 0]。
['2020-01-08', 0]。
['2020-01-09', 0]。
['2020-01-10', 0].
]
df1 = pd.DataFrame(salesdata, columns=cols)
df2 = pd.DataFrame(nosales, columns=cols)
df3=pd.merge(df2,df1,on='date', how='left')
df3['sales_y']=df3['sales_y'].fillna(0)
print(df3)
日期 sales_x sales_y
0 2020-01-01 0 0.25
1 2020-01-02 0 1.4
2 2020-01-03 0 0.00[/span
3 2020-01-04 0 2.34
4 2020-01-05 0 0.00[/span
5 2020-01-06 0 0.00[/span
6 2020-01-07 0 1.54
7 2020-01-08 0 1.47
8 2020-01-09 0 0.00[/span
9 2020-01-10 0 0.00
uj5u.com熱心網友回復:
假設你有一個包含隨機銷售資料的DataFrame
df = pd.DataFrame(data=zip(pd. date_range(start='2021-01-01 00:00:00'/span>, periods=100, freq='1min'/span>), np. random.randint(1, 100, 100)), columns=['SaleDate', 'Qount'])。 sample(20)
第1步 - 用你需要的時間框架生成另一個df。這將從min.SalesDate到max.SaleDate
dft = pd.DataFrame(pd.date_range(start=df.SaleDate.min(), end=df. SaleDate.max(), freq='1min'), columns=['SaleDate']
第2步--左鍵連接df到dft.
。dfm = dft.merge(df, on='SaleDate'/span>, how='left'/span>)
第3步 - 現在你可以用0來填補。
dfm = dfm.fillna(0)
并且獲得沒有銷售的行:
no_sales = dfm.loc[dfm.quantity == 0]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/332404.html
標籤:
