Как вы говорили, метод groupby
объекта pd.DataFrame
может выполнять задание.
Пример
L = ['A','A','B','B','B','C']
N = [1,2,5,5,4,6]
import pandas as pd
df = pd.DataFrame(zip(L,N),columns = list('LN'))
groups = df.groupby(df.L)
groups.groups
{'A': [0, 1], 'B': [2, 3, 4], 'C': [5]}
, который дает и индексное описание групп.
Чтобы получить элементы отдельных групп, вы можете сделать, например
groups.get_group('A')
L N
0 A 1
1 A 2
groups.get_group('B')
L N
2 B 5
3 B 5
4 B 4
Несмотря на то, что, вероятно, есть ловушки, чтобы вы могли взглянуть на представление элемента, которое присоединяется к RecyclerView
(возможно, RecyclerView # OnChildAttachStateChangeListener , но я не изучал его) думаю, что было бы лучше просто назначить параметры макета в onCreateViewHolder()
следующим образом:
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
Button b= new Button(parent.getContext());
ViewGroup.LayoutParams lp =
new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
tv.setLayoutParams(lp);
return new ItemViewHolder(b);
}
Параметры макета будут затем обрабатываться при добавлении элемента представления в RecyclerView
.