首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何组合具有相同时间戳的行?

如何组合具有相同时间戳的行?
EN

Stack Overflow用户
提问于 2015-05-29 04:30:03
回答 4查看 1.7K关注 0票数 2

我正在尝试将数据帧中具有相同时间戳的所有行合并为一行。df为5k x 20。

代码语言:javascript
运行
复制
             A      B      ...
 timestamp
    11:00    NaN    10     ...
    11:00    5      NaN    ...
    12:00    15     20     ...
    ...      ...    ...

按如下方式对2个11:00行进行分组

代码语言:javascript
运行
复制
             A      B        ...
timestamp
    11:00    5      10       ...
    12:00    15     20       ...
    ...      ...    ...

任何帮助都将不胜感激。谢谢。

我试过了

代码语言:javascript
运行
复制
df.groupby( df.index ).sum()
EN

回答 4

Stack Overflow用户

发布于 2015-05-29 09:32:10

您可以取消透视(‘melt’) DataFrame以将其从宽格式转换为长格式,删除空值,然后通过groupby进行聚合。

代码语言:javascript
运行
复制
import pandas as pd

df = pd.DataFrame({'timestamp' : ['11:00','11:00','12:00'],
               'A' : [None,5,15],
               'B' : [10,None,20]
              })

    A   B   timestamp
0   NaN 10  11:00
1   5   NaN 11:00
2   15  20  12:00

df2 = pd.melt(df, id_vars = 'timestamp') # specify the value_vars if needed

    timestamp   variable    value
0   11:00       A           NaN
1   11:00       A           5
2   12:00       A           15
3   11:00       B           10
4   11:00       B           NaN
5   12:00       B           20

df2.dropna(inplace=True)
df3 = df2.groupby(['timestamp', 'variable']).sum()

                        value
timestamp   variable    
11:00       A           5
            B           10
12:00       A           15
            B           20

df3.unstack()

            value
variable    A   B
timestamp       
11:00       5   10
12:00       15  20
票数 2
EN

Stack Overflow用户

发布于 2015-05-29 04:52:54

尝试使用resample

代码语言:javascript
运行
复制
>>> df.resample('60Min', how='sum')
                      A   B
2015-05-28 11:00:00   5  10
2015-05-28 12:00:00  15  20

Pandas Documentation中可以找到更多示例。

票数 1
EN

Stack Overflow用户

发布于 2015-05-29 09:44:03

NaN值替换为0后的groupby

代码语言:javascript
运行
复制
df.fillna(0, inplace=True)
df.groupby(df.index).sum()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30516528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档