我正在尝试用其他字段中的数据填充缺失的数据,例如,我有一个表:
Brand Model Make
Toyota Corolla Japan
Toyota Crescida Japan
Toyota Land Cruiser
Ford Escape America
Ford Explorer America
Ford Edge
Ford Focus
我从其他方面知道丰田来自日本,福特来自美国。我如何在Pandas中做到这一点,以便给我以下信息?
Brand Model Make
Toyota Corolla Japan
Toyota Crescida Japan
Toyota Land Cruiser Japan
Ford Escape America
Ford Explorer America
Ford Edge America
Ford Focus America
您可以使用df=df1[['Brand','Make']].groupby(['Brand']).agg(lambda x:x.value_counts().index[0]).reset_index()
来获取基于Brand的make列的常见事件。之后,您可以使用以下代码
for index,value in enumerate(df1['Make']):
if value==None:
brand=df1['Brand'][index]
df1['Make'][index]=df['Make'][df['Brand']==brand].to_list()[0]
我能够通过两个步骤解决它:
-
创建了另一个df:df2=pd.DataFrame(df.groupby('Brand'(['Make'].first(((
-
查找Make from df2以填充原始df:df['Make']=df.Brand.apply(lambda x:df2[df2['Brand']=x]['Make'](
品牌模型品牌0丰田卡罗拉日本1丰田Crescida日本2丰田普拉多日本