gpt4 book ai didi

python - 如何填充与另一列上的另一个观察位于同一行的列中的某些单元格?

转载 作者:行者123 更新时间:2023-12-01 01:13:37 25 4
gpt4 key购买 nike

我基本上有一列包含邮政编码,另一列包含社区,并且我在邮政编码列上填充了一些空值。所以首先我找到了与丢失的邮政编码相对应的街区。其次,我找到了该社区最常见的邮政编码。

下面是邻居 X 的一些邮政编码。这个特定邻居的模式是 Y。我想做的是,在邻居列下取出邻居 X 的行,填充相应的值为空的邮政编码列。

这是社区 X 的模式。它返回实际模式 (BS8) 和包含有关社区 X 的所有邮政编码的完整列表

 <bound method Series.mode of 25      BS8 

1904 BS1
1919 BS8
2070 BS1
2083 BS1
2099 NaN
2105 BS1
2228 NaN
2256 BS1
2265 BS8
2285 BS8
2298 BS8

因此,在本例中,我希望使用 HH 最常见的邮政编码类型填充邮政编码下的 nan 值。

neighbourhood      Postcode
WH BS9
SB BS9
HF BS9
WH BS9
WH BS9
SB BS9
HH nan
SGTH nan

如果 HH 最常见的邮政编码是 Z,如果想将其填写到相应的邮政编码中,如下所示:

neighbourhood      Postcode
WH BS9
SB BS9
HF BS9
WH BS9
WH BS9
SB BS9
HH Z
SGTH nan

在网上查看后,我尝试了类似下面的代码,但没有成功。

airbnb.postcode = airbnb.apply( 
lambda row: "BS8 " if (airbnb.neighbourhood=="HH" & airbnb.postcode== np.NaN) else row.postcode )

最佳答案

使用np.select

数据:

# df2:
# neighbourhood Postcode
# 0 WH BS9
# 1 SB BS9
# 2 HF BS9
# 3 WH BS9
# 4 WH BS9
# 5 SB BS9
# 6 HH BS8
# 7 SGTH NaN

conditions = [
((df2['neighbourhood'] == 'HH') & (df2['Postcode'].isna())),
]

choices = [
'BS8'
]

df2['Postcode'] = np.select(conditions, choices, df2['Postcode'])

neighbourhood Postcode
0 WH BS9
1 SB BS9
2 HF BS9
3 WH BS9
4 WH BS9
5 SB BS9
6 HH BS8
7 SGTH NaN

关于python - 如何填充与另一列上的另一个观察位于同一行的列中的某些单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54597158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com