我有一个如下所示的数据集:
f_id | s_id | 日期 |
---|---|---|
13345ERSS | 99768FKLL | 01-01-2005 |
我的数据集中有 1.37 亿行,所以读取需要很长时间,我是这样读取的:
import pandas as pd
df = pd.read_csv("datasets.csv")
所以我想将数据聚集到我从 2005 年到 2018 年的一组日期中并避免重叠,所以我认为每年 2 个样本是黄油。
S1 从 1-1-2005 到 1-6-2005 S2 从 2-6-2005 到 30-12-2005
以此类推到整年
所以我想到了这样的事情:
rows = df.sample(n = 2)
s1 = []
for dt in df['date']:
if (dt['date'] == 01/01/2005 && dt['date'] == 01/06/2005):
s1.append(dt)
我不确定要使用什么,我尝试使用 Knn 算法,但无法进行聚类,因为我的 ID 有字母表且无法转换为浮点数。
我想做聚类然后在networkx中做社区检测
所以我已经像这样读取了网络的节点和边缘:
G = nx.from_pandas_edgelist(df, source='src', target='dst', edge_attr='lf_date')
请提供任何提示或解释!我是 Python 新手,正在尽我所能