Create a gist now

Instantly share code, notes, and snippets.

how to flatten nested list with pyrhon
import pandas as pd
from collections.abc import Iterable
def is_iter(iter):
return isinstance(iter, Iterable) and not (isinstance(iter, str) and len(iter) == 1)
def flatten(nested_iter):
for element in nested_iter:
yield from flatten(element) if is_iter(element) else [element]
df = pd.DataFrame([['A', 1],['B', 3], ['C', 1],['D', 1],['E', 2]], columns=['category', 'frequency'])
mylist = [reduce(lambda x,y: [x]*y, l) for l in df[['category', 'frequency']].values]
print(list(flatten(mylist)))
# result.
# >>> ['A', 'B', 'B', 'B', 'C', 'D', 'E', 'E']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment