pandas 在python上将df转换为一列

5vf7fwbs  于 2023-06-20  发布在  Python
关注(0)|答案(4)|浏览(123)

是否可以将整个df转换为一列?从这个

c1 c2 c3
1  5  9
2  6  10
3  7  11
4  8  12

到这个

C4
1
2
3
4
5
6
7
8
9
10
11
12
ne5o7dgx

ne5o7dgx1#

以上Quang是正确的:

df = pd.DataFrame({'c1':[1,2, 3, 4], 'c2':[5,6,7,8], 'c3':[9,10,11,12]})
df = df.melt(value_name='C4')['C4']
df

Pandas系列的输出:

0      1
1      2
2      3
3      4
4      5
5      6
6      7
7      8
8      9
9     10
10    11
11    12
Name: C4, dtype: int64
8qgya5xd

8qgya5xd2#

也许你也可以试试unstack

pd.DataFrame(df.unstack().values)
w80xi6nr

w80xi6nr3#

在这种情况下,你可以用途:

a,b,c=list(df.values)

df=pd.DataFrame(a+b+c)
aurhwmvo

aurhwmvo4#

下面是使用explode()的另一种方法

df['col4'] = df.to_numpy().tolist()
df['col4'].explode().reset_index()[['col4']]

pd.DataFrame(np.ravel(df,'F'),columns=['C4'])

相关问题