我需要计算给定多索引主标题的多索引子标题的数量。
这个问题与我之前的问题相关:read_csv:多个标题行。单个标题行中有重复项,但当考虑两个标题行时,没有列重复 如果该链接未通过,则 stackoverflow 上的搜索词将为:“read_csv:多个标题行。单个标题行内有重复项,但当考虑两个标题行时,不会出现重复的列”
使用相同的示例 csv 文件:
Exp,2023-09-22,2023-09-22,2023-09-29,2023-10-06,2023-10-13
Code,A,B,A,A,A
Item,,,,,
260,1,8,17,31,42
270,2,9,18,32,43
280,3,10,19,33,44
290,4,11,20,34,45
300,5,12,21,35,46
print(df)
Exp 2023-09-22 2023-09-29 2023-10-06 2023-10-13
Code A B A A A
Item
270 2 9 18 32 43
280 3 10 19 33 44
290 4 11 20 34 45
300 5 12 21 35 46
问题:如何计算给定 Exp 标题的“Code”条目数? 例如: Exp '2023-09-22' 列出了多少个代码条目?答案:2(它们是“A”和“B”) Exp '2023-10-13' 列出了多少个代码条目?答案:1
非常感谢任何编码此查询的帮助。
我尝试过 len(df.columns[col_idx]) 和其他迭代的各种组合,但没有任何效果。至于可接受的解决方案方法,我会使用一个计数(例如 int 2 或 int 1)运行,或者使用随后可以计数的名称或值(或它们被认为是的任何内容)的列表。在所有情况下,代码将由“A”或“B”组成,或同时由[“A”和“B”]组成。
代码
df.droplevel(level=-1, axis=1).columns.to_frame().groupby(level=0).size()
输出:
Exp
2023-09-22 2
2023-09-29 1
2023-10-06 1
2023-10-13 1