【发布时间】:2020-07-24 17:31:00
【问题描述】:
我有一个类似于下面列出的数据框。出于某种原因,每个团队被列出两次,每列对应一个列表。
import pandas as pd
import numpy as np
d = {'Team': ['1', '2', '3', '1', '2', '3'], 'Points for': [5, 10, 15, np.nan,np.nan,np.nan], 'Points against' : [np.nan,np.nan,np.nan, 3, 6, 9]}
df = pd.DataFrame(data=d)
Team Points for Points against
0 1 5 Nan
1 2 10 Nan
2 3 15 Nan
3 1 Nan 3
4 2 Nan 6
5 3 Nan 9
我怎样才能将重复的团队名称行合并,从而避免缺失值?这就是我想要的:
Team Points for Points against
0 1 5 3
1 2 10 6
2 3 15 9
我一直在尝试用 pandas 来解决这个问题,但似乎无法理解。谢谢!
【问题讨论】:
-
这能回答你的问题吗? How to combine duplicate rows in pandas?
-
只需从您的输入中删除所有 Nans 并删除重复的索引值:
d = {'Team': ['1', '2', '3'], 'Points for': [5, 10, 15], 'Points against' : [3, 6, 9]}。或者您是说数据以这种肮脏的格式提供给您,您需要帮助清理它吗?理想情况下,您应该修复产生这些脏数据的任何代码。 -
不幸的是,由于某些奇怪的原因,数据是这样的。
标签: python pandas numpy dataframe