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
我有一个这样的数据框。我需要从索引 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