Python Pandas多列合并成一长列(扁平化)
·
测试数据定义(定义时是按列定义的,可参考打印结果):
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 3], # 第一列,不是第一行
'B': [4, 5, 6], # 第二列,不是第二行
'C': [7, 8, 9] # 第三列,不是第三行
})
打印df(打印结果是实际的行列):
A B C
0 1 4 7
1 2 5 8
2 3 6 9
使用melt方法,该方法按列拼接多列并保留原列名,具体如下:
melted_df = pd.melt(df, var_name='Variable', value_name='Value')
打印扁平化后的melted_df:
Variable Value
0 A 1
1 A 2
2 A 3
3 B 4
4 B 5
5 B 6
6 C 7
7 C 8
8 C 9
使用concat方法,该方法按列拼接但不保留列名,具体如下:
concated_df = pd.concat([df['A'], df['B'], df['C']], ignore_index=True)
打印扁平化后的concated_df:
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
dtype: int64
使用stack方法,改方法按行拼接且不保留列名,具体如下:
stacked_df = df.stack().reset_index(drop=True)
打印扁平化后的stacked_df:
0 1
1 4
2 7
3 2
4 5
5 8
6 3
7 6
8 9
dtype: int64更多推荐


所有评论(0)