Yoon-gu Hwang commited on
Commit
9c143e2
ยท
1 Parent(s): b2b4159
Files changed (1) hide show
  1. app.py +9 -52
app.py CHANGED
@@ -1,60 +1,17 @@
1
  import gradio as gr
2
  import numpy as np
3
  import pandas as pd
 
4
  from datetime import datetime, timedelta
5
 
6
- def generate_samples(n = 30):
7
- # ์นด๋“œ ์ด์šฉ ๋‚ด์—ญ ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
8
- np.random.seed(42)
9
-
10
- # ๋‚ ์งœ ์ƒ์„ฑ (์ตœ๊ทผ 30์ผ)
11
- start_date = datetime.now() - timedelta(days=30)
12
- dates = [start_date + timedelta(days=x) for x in range(n)]
13
-
14
- # ์นด๋“œ ์ข…๋ฅ˜
15
- cards = ['์‹ ํ•œ์นด๋“œ', '์‚ผ์„ฑ์นด๋“œ', 'ํ˜„๋Œ€์นด๋“œ', 'KB๊ตญ๋ฏผ์นด๋“œ', '์šฐ๋ฆฌ์นด๋“œ']
16
-
17
- # ๊ฐ€๋งน์  ์ข…๋ฅ˜
18
- merchants = ['์Šคํƒ€๋ฒ…์Šค', 'GS25', '์ฟ ํŒก', '๋„ค์ด๋ฒ„ํŽ˜์ด', '์นด์นด์˜คํŽ˜์ด',
19
- '์ด๋งˆํŠธ', '์˜ฌ๋ฆฌ๋ธŒ์˜', 'CGV', '๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ', '์นดํŽ˜๋ฒ ๋„ค',
20
- 'Apple', '11๋ฒˆ๊ฐ€', '๋ฌด์‹ ์‚ฌ', '๋‹ค์ด์†Œ', '๋งฅ๋„๋‚ ๋“œ']
21
-
22
- # ํ• ๋ถ€ ์˜ต์…˜
23
- installments = ['์ผ์‹œ๋ถˆ', '2๊ฐœ์›”', '3๊ฐœ์›”', '6๊ฐœ์›”', '12๊ฐœ์›”']
24
-
25
- # DataFrame ์ƒ์„ฑ
26
- df = pd.DataFrame({
27
- '์ด์šฉ์ผ': [d.strftime('%Y-%m-%d') for d in sorted(dates, reverse=True)],
28
- '์ด์šฉ์นด๋“œ': np.random.choice(cards, n),
29
- '์ด์šฉ๊ฐ€๋งน์ ': np.random.choice(merchants, n),
30
- '์ด์šฉ๊ธˆ์•ก': np.random.randint(5000, 500000, n),
31
- })
32
-
33
- # ํ• ๋ถ€/ํšŒ์ฐจ
34
- df['ํ• ๋ถ€/ํšŒ์ฐจ'] = np.random.choice(installments, n)
35
-
36
- # ์ ๋ฆฝ/ํ• ์ธ์œจ (0~5%)
37
- df['์ ๋ฆฝ/ํ• ์ธ์œจ(%)'] = np.random.uniform(0.5, 5.0, n).round(2)
38
-
39
- # ์˜ˆ์ƒ์ ๋ฆฝ/ํ• ์ธ = ์ด์šฉ๊ธˆ์•ก * ์ ๋ฆฝ์œจ
40
- df['์˜ˆ์ƒ์ ๋ฆฝ/ํ• ์ธ'] = (df['์ด์šฉ๊ธˆ์•ก'] * df['์ ๋ฆฝ/ํ• ์ธ์œจ(%)'] / 100).round(0).astype(int)
41
-
42
- # ๊ฒฐ์ œ์›๊ธˆ = ์ด์šฉ๊ธˆ์•ก - ์˜ˆ์ƒ์ ๋ฆฝ/ํ• ์ธ
43
- df['๊ฒฐ์ œ์›๊ธˆ'] = df['์ด์šฉ๊ธˆ์•ก'] - df['์˜ˆ์ƒ์ ๋ฆฝ/ํ• ์ธ']
44
-
45
- # ๊ฒฐ์ œํ›„์ž”์•ก (๋ˆ„์  ๊ณ„์‚ฐ)
46
- df['๊ฒฐ์ œํ›„์ž”์•ก'] = df['๊ฒฐ์ œ์›๊ธˆ'].cumsum()
47
-
48
- # ์ˆ˜์ˆ˜๋ฃŒ(์ด์ž) - ํ• ๋ถ€์ผ ๊ฒฝ์šฐ๋งŒ ๋ฐœ์ƒ
49
- df['์ˆ˜์ˆ˜๋ฃŒ(์ด์ž)'] = 0
50
- installment_mask = ~df['ํ• ๋ถ€/ํšŒ์ฐจ'].isin(['์ผ์‹œ๋ถˆ'])
51
- df.loc[installment_mask, '์ˆ˜์ˆ˜๋ฃŒ(์ด์ž)'] = np.random.randint(1000, 10000, installment_mask.sum())
52
- return df
53
-
54
-
55
- def preprocess_rawdata(file):
56
- print(file)
57
- return generate_samples()
58
 
59
  with gr.Blocks() as demo:
60
  with gr.Row():
 
1
  import gradio as gr
2
  import numpy as np
3
  import pandas as pd
4
+ import subprocess
5
  from datetime import datetime, timedelta
6
 
7
+ def preprocess_rawdata(files):
8
+ print(files)
9
+ dfs = []
10
+ for file in files:
11
+ print(file)
12
+ df = pd.read_html(file, header=2)[0]
13
+ dfs.append(df)
14
+ return pd.concat(dfs)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  with gr.Blocks() as demo:
17
  with gr.Row():