Spaces:
Sleeping
Sleeping
Create categorizer.py
Browse files- categorizer.py +20 -0
categorizer.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import pandas as pd
|
| 2 |
+
|
| 3 |
+
CATEGORIES = {
|
| 4 |
+
"DINING": ["RESTAURANT", "CAFE", "FOOD TRUCK"],
|
| 5 |
+
"TRANSPORT": ["UBER", "LYFT", "TAXI", "PETROL"],
|
| 6 |
+
"SHOPPING": ["AMAZON", "WALMART", "TARGET"],
|
| 7 |
+
"UTILITIES": ["ELECTRIC", "WATER", "INTERNET"]
|
| 8 |
+
}
|
| 9 |
+
|
| 10 |
+
def categorize_expenses(file):
|
| 11 |
+
df = pd.read_csv(file.name)
|
| 12 |
+
df['Category'] = "OTHER"
|
| 13 |
+
|
| 14 |
+
for idx, row in df.iterrows():
|
| 15 |
+
description = row['Description'].upper()
|
| 16 |
+
for cat, keywords in CATEGORIES.items():
|
| 17 |
+
if any(kw in description for kw in keywords):
|
| 18 |
+
df.at[idx, 'Category'] = cat
|
| 19 |
+
break
|
| 20 |
+
return df
|