python - 合并单个数据框中的重复数据
问题描述
我正在使用熊猫库
我有一个包含数百个数据部分重复的大型数据库(一列或两列相同,但两列中的一列包含附加信息)。我想合并重复的实例,同时保留信息最多的行。我只能弄清楚如何合并两个数据库,而不是单个数据库中的数据。
例子:
Col 1: Name, Col 2: Age, Col 3: Other, Col 4: Other, Col 5: Other
Row1 Aaron Miser, 32, Plumber, 4 Children, NaN
Row2 Aaron Miser, 32, NaN, NaN, NaN
Row3 Aaron Miser, 32, NaN, NaN, NaN, likes football
我需要识别 Col 1 的重复项(在此示例中为 Aaron Miser),然后合并重复实例,以便合并的行现在具有可用于重复实例的最多数据。所以只有 1 个保留行,它现在显示所有可用信息:
Aaron Miser,32 岁,水管工,4 个孩子,喜欢足球
解决方案
这应该这样做:
df.groupby('Name').apply(lambda series: series.fillna(method='ffill').fillna(method='bfill'))
如果要删除重复项并重置索引,请在.drop_duplicates().reset_index(drop=True)
之后添加。
注意:这假设该Name
列提供了一个唯一键并且没有包含冲突信息的行。
推荐阅读
- sql - 仅在某些组列表中为用户选择 SQL
- c - 为什么我必须将 %u 与 unsigned int 一起使用,而我可以将 %i 与 unsigned char 一起使用?
- angularjs - 需要使用 HTTP 服务的动态 AngularJs Bootstrap 数据表自定义分页
- android - 从过滤器 rxjava 返回容器对象
- javascript - 从另一个插座打开一个插座时出现角度滚动问题
- shell - 在 Linux Shell 脚本中将小数与整数进行比较
- spring - 如何使用 JDBC 配置通过 AD 密码连接到 Azure SQL DB?
- php - Rest api php上传图片在邮递员中不起作用,方法“POST”
- performance - Http Post - 状态 ExecuteRequestHandler 的长时间延迟
- xml - xPath following-sibling::nameOfTheNode 不产生任何结果