如何计算以数字命名的列标签的数量?

时间:2019-02-13 13:29:17

标签: python pandas dataframe jupyter-notebook

我想计算带有数字标签的列数。

  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,因此无法按人计算列数。我的想法是,这可能与lociloc有关,但是我不知道如何使用代码来完成它。

2 个答案:

答案 0 :(得分:3)

如果需要计算具有数字的列数,请使用sumTrue来计算out = df.columns.astype(str).str.isnumeric().sum() print (out) 8 的值:

seven-digit display

答案 1 :(得分:2)

如果只想计算以数字命名的列的数量,则可以使用以下列表理解:

SvgDrawingCanvas canvas = (SvgDrawingCanvas) fooSvgViewbox.Child;
List<Drawing> drawings = (List<Drawing>)typeof(SvgDrawingCanvas).GetField("_drawObjects", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(canvas);

foreach (Drawing drawing in drawings)
{
    if (drawing is GeometryDrawing geometryDrawing)
    {
        geometryDrawing.Brush = Brushes.BlueViolet;
    }
}