【发布时间】:2021-11-17 23:18:49
【问题描述】:
我有一个数据框,其列为 ['ID','Title','Category','Company','Field'],它有两个空白值,并且在某些地方缺失值被设置为 N/A。我必须选择可用信息最多的行。
例如,一种情况可能是。
'ID' 'Title' 'Category' 'Company' 'Field'
0 ABD12567 Title1 Company1
1 ABD12567 Title1 N/A Field1
2 ABD12567 Title1 Category1 Company1 Field1
3 ABD12567 Title1 Company1
4 ABD12567 Title1 N/A Company1 Field1
在这种情况下,我想选择第 2 行,因为它具有最大的可用信息。我尝试在数据框中添加一个长度列,我将在其中添加所有字符串长度,并在分组的帮助下选择具有最大长度的列。例如 catalog_11=catalog_1.groupby(['ID'], as_index = False).agg({'combined_len': max}) 。在这种情况下,我将保留该行的索引 2,并将从旧数据框中过滤掉索引为 2 的行。但这不起作用,因为我在分组后丢失了旧数据帧的索引。不知道如何解决这个问题。请帮我选择正确的行。不确定如何通过其他解决方法解决此问题。
如果除了我使用的组合长度之外还有其他选择,请提出建议。
【问题讨论】:
标签: python pandas dataframe group-by subset