筛选出User_ID为U003的行中是否存在H101-H107,存在就将其值设置为对应的House_price/1000,不存在用0填充,然后生成一个7x1的矩阵
时间: 2024-04-13 21:28:24 浏览: 63
要筛选出User_ID为U003的行中是否存在H101-H107,并将其值设置为对应的House_price/1000,可以使用以下代码片段:
```python
import pandas as pd
import numpy as np
# 读取数据集
data = pd.read_csv('data.csv')
# 筛选出User_ID为U003的行
filtered_data = data[data['Users_ID'] == 'U003']
# 创建一个空的7x1矩阵
house_ids = ['H101', 'H102', 'H103', 'H104', 'H105', 'H106', 'H107']
matrix = pd.DataFrame(np.zeros((len(house_ids), 1)), index=house_ids, columns=['Result'])
# 判断每个房屋ID是否存在于筛选后的数据中
for house_id in house_ids:
if house_id in filtered_data['House_ID'].values:
house_price = filtered_data[filtered_data['House_ID'] == house_id]['House_price'].values[0]
matrix.loc[house_id, 'Result'] = house_price / 1000
print(matrix)
```
请确保将上述代码中的 `'data.csv'` 替换为您实际的数据集文件名,并且您的数据集文件应该具有与您提供的示例相同的格式和列名。运行这段代码将输出一个7x1的矩阵,其中每行表示一个房屋ID,结果列中的值表示对应房屋ID存在时使用的House_price/1000,如果不存在则用0填充。