我有一个大型的"住宅和建筑"零售销售数据库.而且我需要知道商店里的电工,水管工,画家等等.
我的第一种方法是选择与专业相关的文章(例如,电线[文章]与电工[专业]相关)然后,根据客户销售情况,了解客户是谁.
但这是很多工作.
我的第二种方法是首先进行聚类分割,然后发现哪个聚类属于专业.(这样更好,因为我能够发现新的细分)
但是,我该怎么做?我应该占用什么类型的聚类?Kmeans,模糊?我应该对该模型采取哪些变量?我应该使用PCA来了解要搜索的群集数量吗?
我的数据标题(简化):
customer_id | transaction_id | transaction_date | item_article_id | item_group_id | item_category_id | item_qty | sales_amt
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激(对不起,我的英文)
我需要在Python上读取csv,我拥有的文本文件具有以下结构:
"114555","CM13","0004","0","C/U"@"99172","CM13","0001","0","C/U"@"178672","CM13","0001","0","C/U"
Run Code Online (Sandbox Code Playgroud)
范围:,
新队: @
我的代码到目前为止:
import csv
data = []
with open('stock.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=',', lineterminator='@')
for row in reader:
data.append({'MATERIAL': row[0],'CENTRO': row[1], 'ALMACEN': row[2], 'STOCK_VALORIZADO' : row[3], 'STOCK_UMB':row[4]})
print(data) #this print just one row
Run Code Online (Sandbox Code Playgroud)
此代码只打印一行,因为它不能将@识别为换行符,并使用引号打印它:
[{'MATERIAL': '114555', 'CENTRO': 'CM13', 'ALMACEN': '0004', 'STOCK_VALORIZADO': '0', 'STOCK_UMB': 'C/U@"99172"'}]
Run Code Online (Sandbox Code Playgroud)