Найти общее количество уникальных значений в мультииндексированном фрейме данных? - PullRequest
0 голосов
/ 26 марта 2020

Для данного кадра данных ниже. Я хочу знать, если для каждого индекса в X (то есть 1,2 и 3), значения в другом индексе Y одинаковы, и их общее количество. Итак, для индекса X 1 я хочу знать, какие значения в Y - это a, b и c. И равно ли оно значениям индекса Y для 2 и 3. Так что здесь значения Y для индекса X 1 равны значениям Y для индекса X 3, то есть они оба имеют a, b и c, тогда как для 3 это не одно и то же.

X     Y   
1    a         A
     b         B
     c         C
2    a         A
     b         B
3    a         A
     b         B
     c         D

1 Ответ

0 голосов
/ 26 марта 2020

Если максимальная длина уровня Y имеет все возможные уникальные значения, используйте Series.unstack для изменения формы:

print (type(s))
<class 'pandas.core.series.Series'>

print (s.unstack())
Y  a  b    c
X           
1  A  B    C
2  A  B  NaN
3  A  B    D

А затем удалите строки с неполными значениями, это означает строки с пропущенными значениями на DataFrame.dropna:

df1 = s.unstack().dropna()
print (df1)
Y  a  b  c
X         
1  A  B  C
3  A  B  D

print (df1.columns.tolist())
['a', 'b', 'c']

print (len(df1))
2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...