我有一个包含三列的数据框,'组织名称''类型' ,'组织的类型'。 '类型'和'组织的类型'是一回事。我想创建一个名为' Org Type'在字段中输入字符串' Type'列,如果' Type'列为空白,在' Type of Org'中取名。柱。
Example of current dataframe:
Name of Organization Type Type of Org
Tyco Retail Retail
Mac Service
Lis Comm
Ice Tech
Rex Retail Retail
Example of New dataframe:
Name of Organization Type Type of Org Org Type
Tyco Retail Retail Retail
Mac Service Service
Lis Comm Comm
Ice Tech Tech
Rex Retail Retail Retail
基本上我正在努力将“' Type'列和组织的类型'列,以便创建一个完整的列,因为两列都缺少一些数据,但它们所拥有的数据将是相同的。如果有更好的方法来做这些,我会喜欢任何建议 - 只是不确定解决这个问题的最佳方法是什么?一会儿循环?
答案 0 :(得分:3)
此功能称为combine_first
:
df.Type.combine_first(df['Type of Org'])
Out[332]:
0 Retail
1 Service
2 Comm
3 Tech
4 Retail
Name: Type, dtype: object
答案 1 :(得分:1)
执行此操作的一种方法是在对缺少的行进行子集化之前将Org Type
列设置为Type
列。如果Type
列包含缺失值(不仅仅是空字符串),则以下操作应该可以解决问题。如果它包含空字符串或类似字符串,则可以对Type
列等于这些值的位置进行分组。
df['Org Type'] = df['Type']
df.loc[df['Org Type'].isnull(), 'Org Type'] = \
df.loc[df['Org Type'].isnull(), 'Type of Org']