pandas вставить несколько столбцов, начиная с индекса - PullRequest
0 голосов
/ 12 марта 2020

У меня есть такой фрейм данных. Мне нужно вставить несколько пустых столбцов, начиная с индекса 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

Ответы [ 2 ]

2 голосов
/ 12 марта 2020

Использование 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
0 голосов
/ 12 марта 2020

Вы можете попробовать эту строку:

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