我想计算带有数字命名标签的列数。
movie_id 1 2 5 6 7 10 12 13 borda rank
0 1 5 4 4 4 0 4 0 3 24 1
1 2 3 0 3 0 0 0 0 3 9 3
2 3 4 0 0 0 0 0 0 0 4 4
3 4 3 0 0 0 5 4 5 5 22 2
4 5 3 0 0 0 0 0 0 1 4 4
在这种情况下,理想情况下要计算的列是 '1'、'2'、'5'、'6', '7', '10', '12', '13'。换句话说,那些非数字命名标签的列将不会被计算在内。
我需要处理几千列的DataFrames,所以人工统计列数是不可能的。我的想法是,这可能与 loc 或 iloc 有关,但我不知道如何用代码来实现它。
请您参考如下方法:
如果需要使用数字计算列数 str.isnumeric用 sum 计算 True 的值:
out = df.columns.astype(str).str.isnumeric().sum()
print (out)
8
