import pandas as pd
import numpy as np
n = 3
List1 = ['1', '5', '2', '3', '1', '3', '1', '3', '0', '0', '5', '1']
List2 = ['A', 'B', 'C', 'D', 'E', 'F']
df = pd.DataFrame(data = [List1] * n + [[np.nan] * len(List1)] * n).transpose()
df.columns = List2
for x in range(0, len(List1), n):
df.loc[x:(x+n-1)] = df.loc[x:(x+n-1)].shift(periods = x // n, axis = 1)
df
将为您提供:
A B C D E F
0 1 1 1 NaN NaN NaN
1 5 5 5 NaN NaN NaN
2 2 2 2 NaN NaN NaN
3 NaN 3 3 3 NaN NaN
4 NaN 1 1 1 NaN NaN
5 NaN 3 3 3 NaN NaN
6 NaN NaN 1 1 1 NaN
7 NaN NaN 3 3 3 NaN
8 NaN NaN 0 0 0 NaN
9 NaN NaN NaN 0 0 0
10 NaN NaN NaN 5 5 5
11 NaN NaN NaN 1 1 1
print(' ' + ' '.join(list2))
for i in range(len(list1)):
line = ""
for letter in list2:
s = table[letter][i]
line += f"{s:2d}" if s is not None else " "
print(line)
哪张照片
A B C D E F
1 1 1
5 5 5
2 2 2
3 3 3
1 1 1
3 3 3
1 1 1
3 3 3
0 0 0
0 0 0
5 5 5
1 1 1
如果您需要数据帧,可以在pandas中使用
df.shift(periods=n, axis=1)
。例如将为您提供:
一种方法是创建一个dictionary,为每个字母存储给定表的列:
哪个输出
使用漂亮的打印,可以重新创建给定的表:
哪张照片
相关问题 更多 >
编程相关推荐