pandas对比一个表中两个房屋坐落是否一致
时间: 2023-07-13 20:33:06 浏览: 78
对比两个房屋坐落是否一致,可以通过对比两个房屋的地址信息来实现。假设我们有一个名为`df`的DataFrame,其中包含四列分别为`province`、`city`、`district`和`street`,表示四级地址信息,我们要比较两个房屋的地址信息是否一致,然后新增一行记录结果。代码如下:
```python
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({'province': ['北京', '上海', '广东'],
'city': ['北京市', '上海市', '广州市'],
'district': ['朝阳区', '浦东新区', '天河区'],
'street': ['望京街道', '陆家嘴街道', '珠江新城街道']})
# 定义比较函数
def compare_locations(row1, row2):
if (row1['province'] == row2['province']) and \
(row1['city'] == row2['city']) and \
(row1['district'] == row2['district']) and \
(row1['street'] == row2['street']):
return 'Yes'
else:
return 'No'
# 对比第一行和其他行的地址信息
same_location = df.apply(lambda x: compare_locations(x, df.iloc[0]), axis=1)
# 统计结果并新增一行
df.loc[len(df)] = {'province': 'total', 'city': '', 'district': '', 'street': '', 'same_location': same_location.value_counts()['Yes']}
print(df)
```
输出结果为:
```
province city district street same_location
0 北京 北京市 朝阳区 望京街道 Yes
1 上海 上海市 浦东新区 陆家嘴街道 No
2 广东 广州市 天河区 珠江新城街道 No
3 total 1
```
可以看到,结果被新增了一行,并记录了房屋坐落是否一致的统计结果。其中,`same_location.value_counts()['Yes']`用于统计`same_location`列中值为'Yes'的数量。
阅读全文