Python 在DataFrame中组合来自多行的数据

Python 在DataFrame中组合来自多行的数据,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我使用Pandas作为Python的一部分,我有下表。我一辈子都不知道该怎么做。任何帮助都将不胜感激 我有一个数据表,其中有许多重复的时间点。但是,每个重复的时间点都会填充不同部分的行。我想把所有的时间点合并成一个包含所有信息的行 我不想对这些列求和。 我不想连接这些列 我想取某列中单个时间点的第一个值,并忽略该列中同一时间点的任何附加值 这张表格应该让这一点更加清楚 +----------------+---+---+---+--+---+---+---+--+---+---+---+ | 0

我使用Pandas作为Python的一部分,我有下表。我一辈子都不知道该怎么做。任何帮助都将不胜感激

我有一个数据表,其中有许多重复的时间点。但是,每个重复的时间点都会填充不同部分的行。我想把所有的时间点合并成一个包含所有信息的行

我不想对这些列求和。 我不想连接这些列

我想取某列中单个时间点的第一个值,并忽略该列中同一时间点的任何附加值

这张表格应该让这一点更加清楚

+----------------+---+---+---+--+---+---+---+--+---+---+---+
| 09/07/20171310 |   | 1 |   |  |   |   |   |  |   |   |   |
| 09/07/20171310 |   |   | 1 |  |   |   |   |  |   |   |   |
| 09/07/20171310 | 3 |   |   |  |   |   |   |  |   |   |   |
| 09/07/20171310 |   |   |   |  |   |   |   |  |   |   | 1 |
| 09/07/20171310 |   |   |   |  |   |   | 1 |  |   |   |   |
| 09/07/20171310 |   |   |   |  |   |   |   |  | 2 |   |   |
| 09/07/20171310 |   |   |   |  | 2 |   |   |  |   |   |   |
| 09/07/20171920 |   |   |   |  |   |   |   |  |   | 1 |   |
| 09/07/20171920 |   |   |   |  |   |   |   |  |   |   | 1 |
| 09/07/20171920 |   |   |   |  |   |   | 1 |  |   |   |   |
| 09/07/20171920 |   |   |   |  |   | 1 |   |  |   |   |   |
| 09/07/20171920 |   |   |   |  |   |   |   |  | 3 |   |   |
| 09/07/20171920 |   |   |   |  | 3 |   |   |  |   |   |   |
| 09/07/20171920 | 6 |   |   |  |   |   |   |  |   |   |   |
| 09/07/20171920 |   |   | 1 |  |   |   |   |  |   |   |   |
| 09/07/20171920 |   | 4 |   |  |   |   |   |  |   |   |   |
+----------------+---+---+---+--+---+---+---+--+---+---+---+
我想要

+----------------+---+---+---+--+---+---+---+--+---+---+---+
| 09/07/20171310 | 3 | 1 | 1 |  | 2 |   | 1 |  | 2 |   | 1 |
| 09/07/20171920 | 6 | 4 | 1 |  | 3 | 1 | 1 |  | 3 | 1 | 1 |
+----------------+---+---+---+--+---+---+---+--+---+---+---+

如果有任何帮助,我将不胜感激。

假设时间戳是索引,请使用
groupby
+
max

df.groupby(level=0).max().fillna('')

+----------------+---+---+---+--+---+-----+---+--+---+-----+---+
| 09/07/20171310 | 3 | 1 | 1 |  | 2 |     | 1 |  | 2 |     | 1 |
| 09/07/20171920 | 6 | 4 | 1 |  | 3 | 1.0 | 1 |  | 3 | 1.0 | 1 |
+----------------+---+---+---+--+---+-----+---+--+---+-----+---+
如果不是索引,则将
level=0
改为
df.columns[0]

这里的另一个假设是空值是
NaN
s。如果没有,请在分组前更换:

df = df.replace('^\s*$', np.nan, regex=True)

谢谢,它工作得很好。我是新来这个网站的,所以请让我知道,如果有什么我可以做,以表明你的答案是正确的good@NimayKulkarni你已经接受了我的回答,那就足够了。当你达到15个代表时,如果你觉得答案有帮助,你也可以对其进行投票。快乐编码。