У меня здесь 25 столбцов и 5 строк. Мне нужно посчитать значения в указанных c столбцах только один раз на строку. Присутствовало ли значение «1» в этой строке данных между этими столбцами? Если да, то посчитай. И так далее с другими ценностями.
Существуют и другие столбцы, которые также содержат эти значения, но они не должны учитываться в этих столбцах. Только столбцы xy, x = [1,2] и y = [1,2,3,4,5,6,7,8,9,10]. Не x = ['a', 'b', 'c', 'd', 'e'].
Редактировать: Объяснено по-другому: «между этими столбцами, во сколько строк появляется 1, во сколько строк появляется 2 ...»
data = {'Column 1 1': [ 1, 3, 3, 2, 4],
'Column 1 2': [ 3,'', 4, 3, 5],
'Column 1 3': [ 4,'', 3, 4, 7],
'Column 1 4': ['','', 4, 1, 7],
'Column 1 5': ['','', 6, 5, 8],
'Column 1 6': ['','', 6,'', 3],
'Column 1 7': ['','', 8,'', 2],
'Column 1 8': ['','', 3,'',''],
'Column 1 9': ['','', 1,'',''],
'Column 1 10': ['','', 7,'',''],
'Column 2 1': [ 2, 5, 5, 1, 4],
'Column 2 2': ['','', 4, 3,''],
'Column 2 3': ['','','', 2, 7],
'Column 2 4': ['','', 4, 1,''],
'Column 2 5': ['','', 7, 5, 8],
'Column 2 6': ['','', 6,'', 3],
'Column 2 7': ['','','','', 2],
'Column 2 8': ['','','','',''],
'Column 2 9': ['','','','',''],
'Column 2 10': ['','', 8,'',''],
'Column a': [ 1, 2, 4, 5, 5],
'Column b': [ 8, 7, 6, 3, 2],
'Column c': [ 7, 3, 4, 3, 2],
'Column d': [ 2, 2, 3, 7, 7],
'Column e': [ 4, 3, 7, 4, 1]}
df = pd.DataFrame(data=data)
То, что я хочу, это фрейм данных с таблицей, которая показывает
- 1: 3
- 2: 3
- 3: 5 (обратите внимание, что он не учитывается дважды для строки, если он появляется более одного раза)
- 4: 4
- 5: 4
- 6: 1
- 7: 2
- 8: 2
.value_counts () позволяет мне делать только один столбец за раз, и если я суммирую данные value_counts для всех этих 20 столбцов, это даст мне слишком большое число, потому что некоторые появляются в большем количестве столбцов для каждого ряда.