pandas 从索引开始插入多列

pandas insert multiple columns starting at index

我有一个这样的数据框。我需要从索引 1 开始插入几个空列。下面的代码有效,但我试图找到一种方法来组合这 4 行,如下所示:

df.insert(loc=n, column='x', value='')

成一行,有没有人知道如何做到这一点?谢谢

d = {'one' : pd.Series([10, 20, 30, 40],), 
      'two' : pd.Series([10, 20, 30, 40],),
      'three' : pd.Series([10, 20, 30, 40],)}

df = pd.DataFrame(d)

df.insert(loc=1, column='A', value='')
df.insert(loc=2, column='B', value='')
df.insert(loc=3, column='C', value='')
df.insert(loc=4, column='D', value='')

df

您可以试试这一行:

df.loc[index,'columns'] = value

使用 concat 和新助手 DataFrame:

i = 1
df = pd.concat([df.iloc[:, :i], 
                pd.DataFrame('', columns=['A','B','C','D'], index=df.index), 
                df.iloc[:, i:]], axis=1)
print (df)
   one A B C D  two  three
0   10           10     10
1   20           20     20
2   30           30     30
3   40           40     40