1
我是python的新手,并且正在与kaggle titanic数据集一起练习。如何通过匹配来自另一个数据框的值填充数据框中的列值pandas
我试图通过使用具有相同票据的行来填充舱内功能的一对缺失值。也就是说,我想获取重复机票及其相应机舱值的列表,并将空值替换为与相同机票相对应的机舱值。
在我的方法中,我创建了一个数据框,其中包含以下代码,其中只包含一次出现的重复票证(假设票证有一个舱位值与它一起;非空),以便为其分配一个机舱值。这样我就可以通过匹配来填充训练集(maindf)中的机舱值。
ticket_dupl = maindf[(maindf.duplicated('Ticket')) & (maindf['Cabin'].notnull())][['Ticket','Cabin']].drop_duplicates('Ticket')
这让我长50指数的数据帧perserved,继承人的前7行:
Ticket Cabin
88 19950 C23 C25 C27
124 35281 D26
137 113803 C123
193 230080 F2
195 PC 17569 B80
230 36973 C83
251 347054 G6
有没有办法通过匹配票行或填写在我maindf一些机舱值索引,保留票据不匹配的值?似乎无法从其他解决方案了解类似于我的问题。
此外,我想知道是否有一个更有效的方式来实现我的目标,而不是像我一样创建一个数据框。谢谢。
我得到这个错误,TypeError:不能使用带有空键的标签索引 –