如何为熊猫数据框中的缺失索引添加新行?

时间:2020-02-07 10:54:09

标签: python pandas

我有一个看起来像这样的df

0     204,255,204
1     204,255,204
3     204,255,204
4     204,255,204
5         0,153,0
8     204,255,204
10    204,255,204

对于[0,1,2....,13]中缺少的每个索引,我想添加具有相应索引的值为255,255,255的行

我的最终输出看起来像这样:

    0     204,255,204
    1     204,255,204
    3     204,255,204
    4     204,255,204
    5         0,153,0
    8     204,255,204
    10    204,255,204
    2     255,255,255
    6     255,255,255
    7     255,255,255
    9     255,255,255
    11    255,255,255
    12    255,255,255
    13    255,255,255

有没有一种Python方式来做到这一点?

更新 columncategorical一个

2 个答案:

答案 0 :(得分:5)

您可以使用reindexfill_value设置为指定值:

n = 13
df['col'].reindex(range(n+1), fill_value= '255,255,255')

0     204,255,204
1     204,255,204
2     255,255,255
3     204,255,204
4     204,255,204
5         0,153,0
6     255,255,255
7     255,255,255
8     204,255,204
9     255,255,255
10    204,255,204
11    255,255,255
12    255,255,255
13    255,255,255
Name: col1, dtype: object

答案 1 :(得分:1)

  1. 创建缺失的索引
  2. 创建新的df
  3. Concat
add_indices = pd.Index(range(14)).difference(df.index)

add_df = pd.DataFrame(index=add_indices, columns=df.columns).fillna(255)

pd.concat([df, add_df])