Python 通过设置固定长度将列表转换为字典

Python 通过设置固定长度将列表转换为字典,python,pandas,list,dictionary,dataframe,Python,Pandas,List,Dictionary,Dataframe,我有一个列表数据=['CDs',1',J12345','Rainbow',None',Styles',2',J12345','Rainbow',None',Folk',3',J12345',Rainbow',None],我想将其转换为具有固定列数的熊猫数据帧 预期结果如下: category | num | series | title | brand | 'CDs' 1 J12345 Rainbow None 'Styles' 2 J1234

我有一个列表数据=['CDs',1',J12345','Rainbow',None',Styles',2',J12345','Rainbow',None',Folk',3',J12345',Rainbow',None],我想将其转换为具有固定列数的熊猫数据帧

预期结果如下:

category |  num | series  |  title |  brand |
'CDs'       1     J12345   Rainbow   None 
'Styles'    2     J12345   Rainbow   None 
'Folk'      3     J12345   Rainbow   None 
你可以做:

import pandas as pd

data = ['CDs', 1, 'J12345','Rainbow', None,
        'Styles', 2, 'J12345', 'Rainbow', None,
        'Folk', 3, 'J12345', 'Rainbow', None]

df = pd.DataFrame([data[i:i+5] for i in range(0, len(data), 5)], columns=['category', 'num', 'series',  'title', 'brand'])
print(df)
输出

声明:

[data[i:i+5] for i in range(0, len(data), 5)]
创建以下列表列表:

[['CDs', 1, 'J12345', 'Rainbow', None], ['Styles', 2, 'J12345', 'Rainbow', None], ['Folk', 3, 'J12345', 'Rainbow', None]]
以上内容可直接传递给熊猫。

设置

整形
与@user3483203的想法几乎相同

a = np.array(data)
nrows = 3
ncols = a.shape[0]//nrows
df = pd.DataFrame(a.reshape(nrows, ncols), columns=['category', 'num', 'series', 'title', 'brand'] )

    category    num series  title   brand
0   CDs         1   J12345  Rainbow None
1   Styles      2   J12345  Rainbow None
2   Folk        3   J12345  Rainbow None
num_cols = 5
cols = ['category', 'num', 'series', 'title', 'brand']
d = np.reshape(data, (-1, num_cols))  
pd.DataFrame(d, columns=cols)
  category num  series    title brand
0      CDs   1  J12345  Rainbow  None
1   Styles   2  J12345  Rainbow  None
2     Folk   3  J12345  Rainbow  None
a = np.array(data)
nrows = 3
ncols = a.shape[0]//nrows
df = pd.DataFrame(a.reshape(nrows, ncols), columns=['category', 'num', 'series', 'title', 'brand'] )

    category    num series  title   brand
0   CDs         1   J12345  Rainbow None
1   Styles      2   J12345  Rainbow None
2   Folk        3   J12345  Rainbow None