【问题标题】:Pandas merge and add columnsPandas 合并并添加列
【发布时间】:2016-03-02 18:12:30
【问题描述】:

目前,我有 52 列代表周,我想将每 4 列(4 周)合并为一个月。所以我需要每 4 列合并并添加到新列。如何合并和添加每 4 列? Pandas.sum 对我不起作用,因为它将所有列加起来。

w1 w2 w3 w4 ... w52

1  0  0  1  ...  0
0  1  0  0  ...  1

我想要什么:

w1 w2 w3 w4 ... w52 1 2 3 4 ... 12

1  0  0  1      0   2 4 5 2 ... 4
0  1  0  0  ... 0   1 0 3 4 ... 5

【问题讨论】:

标签: python pandas merge


【解决方案1】:

试试这个:

t = df.T
t['week'] = (t.index.str[1:].astype(int) - 1).map('{:02d}'.format)
t['month'] = pd.to_datetime(t['week'] + '-0', format='%W-%w').dt.month

del t['week']

print(t.groupby('month').sum().T)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 2013-10-06
    相关资源
    最近更新 更多