На самом деле неплохо бы начать декомпозицию кода, как вы разбили математические задачи на более простые кусочки в школе, чтобы понять поведение:
import numpy as np
import pandas as pd
# Dataframe construction
df1 = pd.DataFrame(np.random.randn(6, 4),
index=list('abcdef'),
columns=list('ABCD'))
# Selection of the row indexed as 'a' using .loc():
df1.loc['a']
# Selection of the row indexed as 'a' using .loc()
# where elements in this rows are strictly positive:
df1.loc['a'] > 0
# Selection of all entire columns where the elements
# in the row indexed as 'a' are strictly positive:
df1.loc[:, df1.loc['a'] > 0]
# Whole dataframe:
df1
Предупреждение, как DataFrame это сборка с случайными числами , вы почти никогда не получите те же результаты, что и в документации.