chaoxiang_map = {'东': 0, '东西': 1, '北': 2, '南': 3, '西南': 4, '南北': 5, '西北': 6, '东北': 7, '东南': 8, '西': 9} all_df['房屋朝向'] = all_df['房屋朝向'].map(chaoxiang_map) set(all_df['房屋类型'])
时间: 2023-06-17 19:05:24 浏览: 120
这段代码的作用是将数据框 all_df 中的“房屋朝向”列的字符串值映射为数字,并将映射结果存储回“房屋朝向”列中。具体来说,将“东”映射为0,“东西”映射为1,“北”映射为2,“南”映射为3,“西南”映射为4,“南北”映射为5,“西北”映射为6,“东北”映射为7,“东南”映射为8,“西”映射为9。另外,代码中的 set() 函数用于获取数据框 all_df 中“房屋类型”列中出现的所有唯一值。
相关问题
将以下代码的功能改为查询筛选房屋时间小于10年,20年到10年的,20年以上的: f = open("houseinfo.csv","r",newline="") ls=[] for line in f: ls.append(line.strip('\n').split(',')) f.close() chaoxiang=int(input("待查询房屋朝向:1南北2东西3东南4西南5东北6西北:")) if chaoxiang==1: chaoxianginf="南北" elif chaoxiang==2: chaoxianginf="东西" elif chaoxiang==3: chaoxianginf="东南" elif chaoxiang==4: chaoxianginf="西南" elif chaoxiang==5: chaoxianginf="东北" elif chaoxiang==6: chaoxianginf="西北" mianjimin=int(input("待查询房屋面积最小值:")) mianjimax=int(input("待查询房屋面积最大值:")) lsout=[] for s in ls: if chaoxianginf == s[5] and mianjimin <= int(s[6])<=mianjimax: str=s[0]+"小区"+'第'+s[3]+'号楼'+s[4][-2:]+'户型' if str not in lsout: lsout.append(str) print('符合查询条件的房屋有:') for s in lsout: print(s)
以下是将代码改为查询筛选房屋时间小于10年,20年到10年的,20年以上的的代码:
```python
f = open("houseinfo.csv", "r", newline="")
ls = []
for line in f:
ls.append(line.strip('\n').split(','))
f.close()
chaoxiang = int(input("待查询房屋朝向:1南北2东西3东南4西南5东北6西北:"))
if chaoxiang == 1:
chaoxianginf = "南北"
elif chaoxiang == 2:
chaoxianginf = "东西"
elif chaoxiang == 3:
chaoxianginf = "东南"
elif chaoxiang == 4:
chaoxianginf = "西南"
elif chaoxiang == 5:
chaoxianginf = "东北"
elif chaoxiang == 6:
chaoxianginf = "西北"
mianjimin = int(input("待查询房屋面积最小值:"))
mianjimax = int(input("待查询房屋面积最大值:"))
lsout = []
for s in ls:
if chaoxianginf == s[5] and mianjimin <= int(s[6]) <= mianjimax:
time = int(s[2].split('/')[0])
if time < 10:
str = s[0] + "小区" + '第' + s[3] + '号楼' + s[4][-2:] + '户型(小于10年)'
elif time >= 10 and time <= 20:
str = s[0] + "小区" + '第' + s[3] + '号楼' + s[4][-2:] + '户型(10-20年)'
else:
str = s[0] + "小区" + '第' + s[3] + '号楼' + s[4][-2:] + '户型(20年以上)'
if str not in lsout:
lsout.append(str)
print('符合查询条件的房屋有:')
for s in lsout:
print(s)
```
解释:
1. 将房屋的建造时间从 CSV 文件中读取,判断是否小于10年,20年到10年,还是20年以上。
2. 根据不同的时间段添加不同的信息到输出字符串中。
3. 根据时间段筛选符合条件的房屋信息。
阅读全文