印刷矩阵方形c#

时间:2016-10-24 16:15:12

标签: c# matrix

我有一个8 * 8矩阵,这是我的代码:

data = pd.DataFrame({'eventId': {0: '2015-11-23#54#',
    1: '2015-11-23#55#',
    2: '2015-11-23#56#',
    3: '2015-11-23#54#',
    4: '2015-11-23#55#',
    5: '2015-11-23#56#'},
    'total': {0: 2, 1: 8, 2: 9, 3: 4, 4: 3, 5: 5}})

df_events = ['2015-11-23#54#', '2015-11-23#56#']

In [14]: %timeit df = data[data["eventId"].apply(lambda x: x in df_events)]
1000 loops, best of 3: 737 µs per loop

In [15]: %%timeit df = pd.DataFrame(columns = ['eventId','total'])
   ....: for event in df_events:
   ....:     df1 = data[data['eventId'] == event]
   ....:     df = pd.concat([df,df1])
   ....: 
100 loops, best of 3: 8.18 ms per loop

我希望它打印成方形,但每行打印一个“0”。我该怎么办?

3 个答案:

答案 0 :(得分:3)

这是因为你每次都在内循环中使用Console.WriteLine - 因此每个值都会打印在一个新行上。

此外,如果您将Console.WriteLine("\n");替换为Console.WriteLine(string.Empty);,则每行之间不会有额外的空白行。

试试这个循环,看看你对输出的看法:

        for (int i = 0; i < matrix_rows; i++)
        {
            for (int j = 0; j < matrix_columns; j++)
            {
                Console.Write(matrix[i, j] + "\t");
            }
            Console.WriteLine(string.Empty);
        }

答案 1 :(得分:3)

每次都写一个新行。请Console.Write()代替Console.WriteLine()

答案 2 :(得分:1)

因为你的数组是空的!

看,你创建它

double[,] matrix = new double[matrix_rows, matrix_columns];

然后打印出来。 double的默认值为0