Как получить кортеж, состоящий как из элемента index, так и самого текущего элемента:
со следующим кодом:
import numpy as np
import pandas as pd
df = pd.DataFrame([[None, 'y', None], [None, None, 'x'], ['z', None, None]],
index=['a', 'b', 'c'],
columns=['X', 'Y', 'Z'])
print(f'\n{df.to_string()}')
Я получу:
X Y Z
a None y None
b None None x
c z None None
Мне хотелось бы получить следующее:
X Y Z
a None (a,y) None
b None None (b,x)
c (c,z) None None
Довольно грубая попытка решить эту проблему приводит к ошибке о .name
:
df2 = df.mask(pd.isnull, lambda x: (x,x.name))
print(f'\n{df2.to_string()}')