如何从现有数据框创建新数据框

西姆兰·阿格劳(Simran Agrawal)

我的数据是这样的格式

T1    YEAR   JAN  FEB    MAR   APRL   DEC    G1
ABC   2015   0    18.6   0.9    6.9    3.0   DATA
ABC   2016   8.9   0      0      3.9    0    TECH
DEF   2020    0    9.0    0      8.06    6    TECH
GHI   2017    0    1.1   9.8      6.8     0    OPT
JKL   2018   7.1   2.1    0       0       8    DATA
JKL   2020    5     2     6        6      5     OTHER

我所做的是:

df = df.groupby(['T1','YEAR','G1'])['JAN','FEB','MAR','APRL','DEC'].SUM()

我得到的输出为:

                      JAN    FEB      MAR    APRL   DEC  
T1     G1    YEAR 
----------------------------------------------------------
ABC  DATA    2015      25.9   55.8     5.9     7.9   66
              2016      2      0.9      0      8.0   66
              2017      0      88       1.09    66    0
              2018      55      77      7.1      6.0  1.9
              2019      7.9     5.0      6.9     98    6.0
              2020       7     55.0       77      98   7.8
ABC   TECH    (2015-2020)....

现在,我需要这样的格式输出:

T1    G1     VALUES      TIME
---------------------------------
ABC    DATA   25.9        2015-01-01 00:00:00
ABC    DATA    55.8        2015-02-01 00:00:00
ABC     DATA    5.9        2015-03-01 00:00:00
ABC      DATA   7.9         2015-04-01 00:00:00

我尝试过的目标是:

 for i , j in df.iterrows():
    for n in range (0,276)          (here I want to know how can I put my whole iterating value under one
       value =df.iloc[n,:]             column name 'Value')
        print(value)    

以及我该如何尝试访问T1,G1,YEAR的分组依据值:

GRP = pd.DataFrame(df.groupby(['T1','G1','YEAR']))

在这里,我试图创建一个新的具有T1,G1,YEAR列的DataFrame,那么我将在dataframe中添加该value列

谁能告诉我如何解决这样的问题?

戴维·埃里克森

您可以melt先建立数据框,然后创建一个新的datetime列。然后保留/重新排序必要的列并排序值:

df = df.groupby(['T1','YEAR','G1'])[['JAN','FEB','MAR','APRL','DEC']].sum().reset_index().rename({'APRL' : 'APR'}, axis=1)
df = df.melt(id_vars=['T1', 'YEAR','G1'], var_name='TIME', value_name='VALUES')
df['TIME'] = pd.to_datetime(df['TIME'] + '-' + df['YEAR'].astype(str))
df = df[['T1', 'G1', 'VALUES', 'TIME']].sort_values(['T1', 'G1','TIME'])
df
Out[1]: 
     T1     G1  VALUES       TIME
0   ABC   DATA    0.00 2015-01-01
6   ABC   DATA   18.60 2015-02-01
12  ABC   DATA    0.90 2015-03-01
18  ABC   DATA    6.90 2015-04-01
24  ABC   DATA    3.00 2015-12-01
1   ABC   TECH    8.90 2016-01-01
7   ABC   TECH    0.00 2016-02-01
13  ABC   TECH    0.00 2016-03-01
19  ABC   TECH    3.90 2016-04-01
25  ABC   TECH    0.00 2016-12-01
2   DEF   TECH    0.00 2020-01-01
8   DEF   TECH    9.00 2020-02-01
14  DEF   TECH    0.00 2020-03-01
20  DEF   TECH    8.06 2020-04-01
26  DEF   TECH    6.00 2020-12-01
3   GHI    OPT    0.00 2017-01-01
9   GHI    OPT    1.10 2017-02-01
15  GHI    OPT    9.80 2017-03-01
21  GHI    OPT    6.80 2017-04-01
27  GHI    OPT    0.00 2017-12-01
4   JKL   DATA    7.10 2018-01-01
10  JKL   DATA    2.10 2018-02-01
16  JKL   DATA    0.00 2018-03-01
22  JKL   DATA    0.00 2018-04-01
28  JKL   DATA    8.00 2018-12-01
5   JKL  OTHER    5.00 2020-01-01
11  JKL  OTHER    2.00 2020-02-01
17  JKL  OTHER    6.00 2020-03-01
23  JKL  OTHER    6.00 2020-04-01
29  JKL  OTHER    5.00 2020-12-01

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何更新熊猫中的现有数据框?

来自分类Dev

如何通过现有的数据框创建一个新的数据框?

来自分类Dev

如何在现有数据框中添加零元素的新列?

来自分类Dev

创建由符合条件的现有数据框的特定行组成的新熊猫数据框的最佳方法是什么?

来自分类Dev

从现有数据框或数据表创建多个虚拟对象

来自分类Dev

R:如何根据特定规则从数据框中选择数据并将数据作为新列添加到现有数据框中

来自分类Dev

使用另一个数据框的行号从现有数据框创建新的pandas数据框

来自分类Dev

通过删除一列,从现有数据框中创建具有如此多列的新数据框

来自分类Dev

创建一个函数以遍历现有数据框并将值添加到新列

来自分类Dev

将新数据框插入现有数据框到Pandas中的特定行位置

来自分类Dev

通过将逻辑应用于现有数据框来创建新的熊猫数据框

来自分类Dev

使用现有数据框中的值的新数据框

来自分类Dev

从现有数据框创建多索引列Pandas数据框

来自分类Dev

使用Scala中数据框中的现有数据在数据框中创建arraytype列

来自分类Dev

根据工作日从现有数据框中拆分并创建新数据框

来自分类Dev

从现有数据重新创建逆数据框

来自分类Dev

使用Purrr从现有数据框中生成新数据框

来自分类Dev

如何基于在熊猫数据框中具有NaN的现有列创建新列?

来自分类Dev

从现有的Python组织和创建新的数据框

来自分类Dev

如何基于另一个长度不同的另一个数据框的值在现有数据框上创建新列

来自分类Dev

如何根据其他2个现有数据框创建数据框?

来自分类Dev

合并数据框中的两列并在R中的现有数据框中创建新列

来自分类Dev

创建由符合条件的现有数据框的特定行组成的新熊猫数据框的最佳方法是什么?

来自分类Dev

从现有数据框列名称创建新的数据框列

来自分类Dev

如何使用自定义函数在现有数据框中创建新的二进制变量?

来自分类Dev

使用 R,如何使用现有数据框中列的中位数创建新数据集?

来自分类Dev

python可以从现有数据框创建一个新的数据框吗?

来自分类Dev

如何使用现有数据框的具体信息生成新数据框

来自分类Dev

根据现有数据框中的其他列创建一个新列

Related 相关文章

  1. 1

    如何更新熊猫中的现有数据框?

  2. 2

    如何通过现有的数据框创建一个新的数据框?

  3. 3

    如何在现有数据框中添加零元素的新列?

  4. 4

    创建由符合条件的现有数据框的特定行组成的新熊猫数据框的最佳方法是什么?

  5. 5

    从现有数据框或数据表创建多个虚拟对象

  6. 6

    R:如何根据特定规则从数据框中选择数据并将数据作为新列添加到现有数据框中

  7. 7

    使用另一个数据框的行号从现有数据框创建新的pandas数据框

  8. 8

    通过删除一列,从现有数据框中创建具有如此多列的新数据框

  9. 9

    创建一个函数以遍历现有数据框并将值添加到新列

  10. 10

    将新数据框插入现有数据框到Pandas中的特定行位置

  11. 11

    通过将逻辑应用于现有数据框来创建新的熊猫数据框

  12. 12

    使用现有数据框中的值的新数据框

  13. 13

    从现有数据框创建多索引列Pandas数据框

  14. 14

    使用Scala中数据框中的现有数据在数据框中创建arraytype列

  15. 15

    根据工作日从现有数据框中拆分并创建新数据框

  16. 16

    从现有数据重新创建逆数据框

  17. 17

    使用Purrr从现有数据框中生成新数据框

  18. 18

    如何基于在熊猫数据框中具有NaN的现有列创建新列?

  19. 19

    从现有的Python组织和创建新的数据框

  20. 20

    如何基于另一个长度不同的另一个数据框的值在现有数据框上创建新列

  21. 21

    如何根据其他2个现有数据框创建数据框?

  22. 22

    合并数据框中的两列并在R中的现有数据框中创建新列

  23. 23

    创建由符合条件的现有数据框的特定行组成的新熊猫数据框的最佳方法是什么?

  24. 24

    从现有数据框列名称创建新的数据框列

  25. 25

    如何使用自定义函数在现有数据框中创建新的二进制变量?

  26. 26

    使用 R,如何使用现有数据框中列的中位数创建新数据集?

  27. 27

    python可以从现有数据框创建一个新的数据框吗?

  28. 28

    如何使用现有数据框的具体信息生成新数据框

  29. 29

    根据现有数据框中的其他列创建一个新列

热门标签

归档