1. "unpivot" a dataframe to a pseudo-series

Today I had to convert something like below:

import pandas as pd

df = pd.DataFrame({"col1": [1, 2, 3, 4], "col2": [10, 11, 12, 13]})
print(df)
   col1  col2
0     1    10
1     2    11
2     3    12
3     4    13

into something like this

df = pd.DataFrame({"col": [1, 2, 3, 4, 10, 11, 12, 13]})
print(df)
   col
0    1
1    2
2    3
3    4
4   10
5   11
6   12
7   13

The easiest way is to use pd.melt. Here's how to achieve it.

import pandas as pd

df = pd.DataFrame({"col1": [1, 2, 3, 4], "col2": [10, 11, 12, 13]})

print("Before: \n", df)

df = df.reset_index()
df = pd.melt(df, id_vars=["index"], value_vars=["col1", "col2"])
df = df.drop(columns=["index", "variable"])
print("After: \n", df)
Before: 
    col1  col2
0     1    10
1     2    11
2     3    12
3     4    13
After: 
    value
0      1
1      2
2      3
3      4
4     10
5     11
6     12
7     13