【问题标题】:Pandas expand number of rows [duplicate]熊猫扩大行数[重复]
【发布时间】:2019-06-05 07:58:46
【问题描述】:

我当前的数据框是这样的:

Index     M0      M2      M3
    0    121    2520      -3
    4    121    2521      -3
    5    161    2321      -2
...

目前,我没有索引 1、2 等。我想通过创建空记录来提供它。最终结果是这样的:

Index     M0      M2      M3
    0    121    2520      -3
    1      0       0       0
    2      0       0       0
    3      0       0       0
    4    121    2521      -3
    5    161    2321      -2
...

我相信这可以通过常规编程实现,但我想知道我是否可以使用 pandas 库执行此类操作。

【问题讨论】:

  • 另外,平时编程中我会做的就是将已有的dataframe转成list,然后遍历list创建空行。
  • 您需要保留旧索引吗?一个简单的方法是简单地重新索引数据框。
  • 是的,索引很重要。

标签: python pandas


【解决方案1】:

尝试reindex 并用0 填充新的nan 行:

df.reindex(range(df.index.min(), df.index.max()+1)).fillna(0)

输出:

       M0       M2      M3
Index           
0      121.0    2520.0  -3.0
1      0.0      0.0      0.0
2      0.0      0.0      0.0
3      0.0      0.0      0.0
4      121.0    2521.0  -3.0
5      161.0    2321.0  -2.0

【讨论】:

    【解决方案2】:

    the previous method 的一个小改进是使用了reindex 的fill_value 参数。

    df.reindex(range(df.index.min(), df.index.max()+1), fill_value=0)
    

    【讨论】:

      猜你喜欢
      • 2012-07-09
      • 2018-01-29
      • 1970-01-01
      • 2022-01-27
      • 2017-10-31
      • 2020-09-26
      • 1970-01-01
      • 1970-01-01
      • 2020-03-06
      相关资源
      最近更新 更多