我有一个大的DataFrame,我正在尝试将2列(系列(转换为1列。
示例:
print(df['col1'])
0 1
1 2
2 3
print(df['col2'])
0 7
1 8
2 9
输出:
print(df['singleCol'])
0 1
1 2
2 3
3 7
4 8
5 9
这可能使用Pandas吗?
您可以使用:
df.stack().drop_duplicates().reset_index(drop=True)
示例输入:
df = pd.DataFrame({'col1': [1, 1, 2, 3], 'col2': [7, 8, 9, 9]})
输出:
0 1
1 7
2 8
3 2
4 9
5 3
dtype: int64
列子集的可选项:
df.melt('col3', value_name='singleCol').drop_duplicates('singleCol').drop(columns='variable')
示例输入:
df = pd.DataFrame({'col1': [1, 1, 2, 3], 'col2': [7, 8, 9, 9], 'col3': list('ABCD')})
输出:
col3 singleCol
0 A 1
2 C 2
3 D 3
4 A 7
5 B 8
6 C 9
series1 = pd.Series(df['col1'])
series2 = pd.Series(df['col2'])
df = pd.concat([series1, series2], axis = 0)