Вот мое решение в C #:
public static void PrintSpiral(int[][] matrix, int n)
{
if (matrix == null)
{
return;
}
for (int layer = 0; layer < Math.Ceiling(n / 2.0); layer++)
{
var start = layer;
var end = n - layer - 1;
var offset = end - 1;
Console.Write("Layer " + layer + ": ");
// Center case
if (start == end)
{
Console.Write(matrix[start][start]);
}
// Top
for (int i = start; i <= offset; i++)
{
Console.Write(matrix[start][i] + " ");
}
// Right
for (int i = start; i <= offset; i++)
{
Console.Write(matrix[i][end] + " ");
}
// Bottom
for (int i = end; i > start; i--)
{
Console.Write(matrix[end][i] + " ");
}
// Left
for (int i = end; i > start; i--)
{
Console.Write(matrix[i][start] + " ");
}
Console.WriteLine();
}
}
Вы можете избежать дополнительной строки для reset.index (), например:
pd.pivot_table(df, values = 'Count', index=['Country'], columns= 'Status').reset_index()
Вы должны повернуть стол:
result = df.pivot('Country', 'Status')
result.columns = result.columns.levels[1] # Remove unnecessary column header
result.columns.name = '' # Optional
result.reset_index()
# Country False Not Ap True
#0 XYZ 14000 360000 100000