基本上,我有DataFrame
,如下所示:
c1 c2
0 a b
1 c d
2 e f
3 g h
我需要将它转换为这个:
c1
0 a
1 b
2 c
3 d
4 e
...
我知道如何从第二列获取所有值:
second_col_items = [df[['1']].iloc[i].item() for i in range(0,len(df.index))]
但我坚持插入。我需要在循环中插入行,而且,我需要在现有行之间插入新行。它甚至可能吗?
所以,我的问题是:如何遍历列表(在我的情况下为second_col_items
)并将其值插入DataFrame
中的每一行?提前谢谢!
答案 0 :(得分:5)
您可以使用stack()
方法:
来源DF
In [2]: df
Out[2]:
c1 c2
0 a b
1 c d
2 e f
3 g h
堆叠
In [3]: df.stack()
Out[3]:
0 c1 a
c2 b
1 c1 c
c2 d
2 c1 e
c2 f
3 c1 g
c2 h
dtype: object
stack + reset_index
In [4]: df.stack().reset_index(drop=True)
Out[4]:
0 a
1 b
2 c
3 d
4 e
5 f
6 g
7 h
dtype: object
In [5]:
答案 1 :(得分:3)