python多列填充缺点_在Python中比较多列中的值并在另一列中添加新值

我有一个房价数据如下:import pandas as pd

import numpy as np

data = {

"HouseName": ["A", "A", "B", "B", "B"],

"Type": ["OneRoom", "TwoRooms", "OneRoom", "TwoRooms", "ThreeRooms"],

"Jan_S": [1100, 1776, 1228, 1640, np.NaN],

"Feb_S": [1000, 1805, 1231, 1425, 1800],

"Mar_S": [1033, 1748, 1315, 1591, 2900],

"Jan_L": [1005, np.NaN, 1300, np.NaN, 7000]

}

df = pd.DataFrame.from_dict(data)

print(df)

HouseName Type Jan_S Feb_S Mar_S Jan_L

0 A OneRoom 1100.0 1000 1033 1005.0

1 A TwoRooms 1776.0 1805 1748 NaN

2 B OneRoom 1228.0 1231 1315 1300.0

3 B TwoRooms 1640.0 1425 1591 NaN

4 B ThreeRooms NaN 1800 2900 7000.0

我需要意识到两件事:首先,我想根据“Jan_S”、“Febđu S”、“Marđu S”、“Jan_L”列找到一个合理的1月份租金价格。这里的S和L是指两个不同的数据源,它们都可能有离群值和nan,但S的数据将优先作为1月份的最终价格。

第二,对于同一个户名,我需要检查一下,确保一房的价格低于两个房间,两个房间的价格低于三个房间。

我的最终结果如下:

^{pr2}$

我的想法是检查Jan_S是否在Jan_L的0.95和1.05范围内,如果是,则将Jan_S作为最终结果,否则,继续检查Feb_S作为Jan_u S的值

请分享您可能需要在Python中处理这个问题的任何想法。谢谢!

以下是一些可能有帮助的参考资料。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值