筛选出矩阵种result列数值为0的House_price并且筛选出对应的House_id的值
时间: 2024-04-13 21:28:47 浏览: 94
要筛选出矩阵中result列数值为0的House_price,并获取对应的House_id的值,可以使用以下代码片段:
```python
import pandas as pd
import numpy as np
# 创建示例矩阵
matrix_data = {
'House_ID': ['H101', 'H102', 'H103', 'H104', 'H105', 'H106', 'H107'],
'Result': [0, 0, 0, 2000, 0, 3000, 0]
}
matrix = pd.DataFrame(matrix_data)
# 筛选出result列数值为0的House_price
filtered_data = matrix[matrix['Result'] == 0]
# 获取对应的House_id的值
house_ids = filtered_data['House_ID'].values
print(house_ids)
```
运行这段代码将输出一个包含所有result列数值为0的House_price所对应的House_id的数组。请注意,这里示例矩阵是手动创建的,您需要根据实际情况替换为您的矩阵数据。
相关问题
筛选出User_ID为U003的行中是否存在H101-H107,存在就将其值设置为对应的House_price/1000,不存在用0填充,然后生成一个7x1的矩阵
要筛选出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填充。
阅读全文