mode_data['type'] = mode_data['page'].apply(lambda x: rep(x[0], dict1)) print('网页分类示例数据:\n', mode_data[['reallID', 'page', 'type']].head(5)) # 构造特征 # 匹配中文字符串 mode_data['type'] = mode_data['type'].apply(lambda x: re.findall('[\u4e00-\u9fa5]+', x)) mode_data['len'] = mode_data['type'].apply(lambda x: len(x)) print(mode_data) # 删除空值 mode_data = mode_data[mode_data['len'] != 0] mode_data['type'] = mode_data['type'].apply(lambda x: x[0]) print(mode_data) # 获取用户标识 inde = list(set(mode_data['reallID'])) col = ['新闻动态', '教学资源', '项目与合作', '竞赛', '优秀作品'] mode_datal = pd.DataFrame(index=inde, columns=col) print(mode_datal) # 点击网页数统计与匹配 for i in inde: ens = mode_data[mode_data['reallID'] == i]['type'].value_counts() for j in range(len(ens)): mode_datal.loc[i, ens.index[j]] = ens[j] mode_datal.fillna(0, inplace=True)解释每行代码
时间: 2023-10-10 20:07:46 浏览: 239
利用可行点标记求最佳匹配算法的MATLAB 程序代码如下(算例) - Read.doc
以下是每行代码的解释:
```python
mode_data['type'] = mode_data['page'].apply(lambda x: rep(x[0], dict1))
```
将网页页面名称中的英文缩写替换为中文名称,例如将"n"替换为"新闻动态"。
```python
print('网页分类示例数据:\n', mode_data[['reallID', 'page', 'type']].head(5))
```
打印网页分类的示例数据。
```python
# 构造特征
# 匹配中文字符串
mode_data['type'] = mode_data['type'].apply(lambda x: re.findall('[\u4e00-\u9fa5]+', x))
mode_data['len'] = mode_data['type'].apply(lambda x: len(x))
```
使用正则表达式匹配中文字符串,将匹配到的结果保存到'type'列中,并计算'type'列中列表的长度,将结果保存到'len'列中。
```python
print(mode_data)
```
打印处理后的数据。
```python
# 删除空值
mode_data = mode_data[mode_data['len'] != 0]
mode_data['type'] = mode_data['type'].apply(lambda x: x[0])
```
删除'type'列中长度为0的数据,并将'type'列中的列表转换为字符串。
```python
print(mode_data)
```
打印处理后的数据。
```python
# 获取用户标识
inde = list(set(mode_data['reallID']))
col = ['新闻动态', '教学资源', '项目与合作', '竞赛', '优秀作品']
mode_datal = pd.DataFrame(index=inde, columns=col)
```
获取用户标识,创建一个新的DataFrame,用于存储每个用户对不同网页类型的点击量。
```python
print(mode_datal)
```
打印新创建的DataFrame。
```python
# 点击网页数统计与匹配
for i in inde:
ens = mode_data[mode_data['reallID'] == i]['type'].value_counts()
for j in range(len(ens)):
mode_datal.loc[i, ens.index[j]] = ens[j]
mode_datal.fillna(0, inplace=True)
```
对每个用户的浏览记录进行统计,并将结果保存到新创建的DataFrame中。如果某个用户没有点击某种类型的网页,则在DataFrame中这个类型的值为0。
阅读全文