如何在python中生成从长到宽的格式

如何在python中生成从长到宽的格式,python,pandas,Python,Pandas,我有这么长的数据。我喜欢按每个30进行分类,并单独保存。 像这样打印数据, A292340 A291630 A278240 A267770 A267490 A261250 A261110 A253150 A252400 A253250 A243890 A243880 A236350 A233740 A233160 A225800 A225060 A225050 A225040 A225130 A219900 A204450 A204480 A204420 A196030 A196220 A167

我有这么长的数据。我喜欢按每个30进行分类,并单独保存。 像这样打印数据,
A292340
A291630
A278240
A267770
A267490
A261250
A261110
A253150
A252400
A253250
A243890
A243880
A236350
A233740
A233160
A225800
A225060
A225050
A225040
A225130
A219900
A204450
A204480
A204420
A196030
A196220
A167860
A152500
A123320
A122630
.
这是一个相当简单的问题,但我需要你的帮助。。 非常感谢。
(我如何从打印的一个结果中制作一个列表?列表添加?

我认为需要通过模和底除以
np.arange
数据帧的长度创建多索引,然后:

但如果长度模不等于
0
(例如
(30%12)
),则最后一个值与最后一列不匹配,并且添加
s:

N = 12
r = np.arange(len(df))
df.index = [r % N, r // N]
df = df['col'].unstack()
print (df)
          0        1        2
0   A292340  A236350  A196030
1   A291630  A233740  A196220
2   A278240  A233160  A167860
3   A267770  A225800  A152500
4   A267490  A225060  A123320
5   A261250  A225050  A122630
6   A261110  A225040     None
7   A253150  A225130     None
8   A252400  A219900     None
9   A253250  A204450     None
10  A243890  A204480     None
11  A243880  A204420     None
设置

d = {'col': ['A292340', 'A291630', 'A278240', 'A267770', 'A267490', 'A261250', 'A261110', 'A253150', 'A252400', 'A253250', 'A243890', 'A243880', 'A236350', 'A233740', 'A233160', 'A225800', 'A225060', 'A225050', 'A225040', 'A225130', 'A219900', 'A204450', 'A204480', 'A204420', 'A196030', 'A196220', 'A167860', 'A152500', 'A123320', 'A122630']}
df = pd.DataFrame(d)

print (df.head())
       col
0  A292340
1  A291630
2  A278240
3  A267770
4  A267490

我认为需要通过模和地板划分创建多索引,然后根据数据帧的长度来划分np.arange,然后:

但如果长度模不等于
0
(例如
(30%12)
),则最后一个值与最后一列不匹配,并且添加
s:

N = 12
r = np.arange(len(df))
df.index = [r % N, r // N]
df = df['col'].unstack()
print (df)
          0        1        2
0   A292340  A236350  A196030
1   A291630  A233740  A196220
2   A278240  A233160  A167860
3   A267770  A225800  A152500
4   A267490  A225060  A123320
5   A261250  A225050  A122630
6   A261110  A225040     None
7   A253150  A225130     None
8   A252400  A219900     None
9   A253250  A204450     None
10  A243890  A204480     None
11  A243880  A204420     None
设置

d = {'col': ['A292340', 'A291630', 'A278240', 'A267770', 'A267490', 'A261250', 'A261110', 'A253150', 'A252400', 'A253250', 'A243890', 'A243880', 'A236350', 'A233740', 'A233160', 'A225800', 'A225060', 'A225050', 'A225040', 'A225130', 'A219900', 'A204450', 'A204480', 'A204420', 'A196030', 'A196220', 'A167860', 'A152500', 'A123320', 'A122630']}
df = pd.DataFrame(d)

print (df.head())
       col
0  A292340
1  A291630
2  A278240
3  A267770
4  A267490

如果您没有Pandas和Numpy模块,可以使用:

设置:

long_list = ['A292340', 'A291630', 'A278240', 'A267770', 'A267490', 'A261250', 'A261110', 'A253150', 'A252400',
             'A253250', 'A243890', 'A243880', 'A236350', 'A233740', 'A233160', 'A225800', 'A225060', 'A225050',
             'A225040', 'A225130', 'A219900', 'A204450', 'A204480', 'A204420', 'A196030', 'A196220', 'A167860',
             'A152500', 'A123320', 'A122630', 'A292340', 'A291630', 'A278240', 'A267770', 'A267490', 'A261250',
             'A261110', 'A253150', 'A252400', 'A253250', 'A243890', 'A243880', 'A236350', 'A233740', 'A233160',
             'A225800', 'A225060', 'A225050', 'A225040', 'A225130', 'A219900', 'A204450', 'A204480', 'A204420',
             'A196030', 'A196220', 'A167860', 'A152500', 'A123320', 'A122630']
代码:


如果您没有Pandas和Numpy模块,可以使用:

设置:

long_list = ['A292340', 'A291630', 'A278240', 'A267770', 'A267490', 'A261250', 'A261110', 'A253150', 'A252400',
             'A253250', 'A243890', 'A243880', 'A236350', 'A233740', 'A233160', 'A225800', 'A225060', 'A225050',
             'A225040', 'A225130', 'A219900', 'A204450', 'A204480', 'A204420', 'A196030', 'A196220', 'A167860',
             'A152500', 'A123320', 'A122630', 'A292340', 'A291630', 'A278240', 'A267770', 'A267490', 'A261250',
             'A261110', 'A253150', 'A252400', 'A253250', 'A243890', 'A243880', 'A236350', 'A233740', 'A233160',
             'A225800', 'A225060', 'A225050', 'A225040', 'A225130', 'A219900', 'A204450', 'A204480', 'A204420',
             'A196030', 'A196220', 'A167860', 'A152500', 'A123320', 'A122630']
代码:


你需要每30行单独的列吗?是的,这就是我需要的。你需要每30行单独的列吗?是的,这就是我需要的