将列表转换为数据名人熊猫

时间:2018-07-03 05:01:46

标签: list pandas dataframe

循环创建一个列表,我的最终列表如下所示:

L [col1, col2, col3, col4 \
 0 N 225.0 12.0 03.0 B ,
   col1, col2, col3, col4 \
 0 W 223.0 12.0 01.0 M ,
   col1, col2, col3, col4 \
 0 X 203.0 11.0 04.0 P ] 

我正在尝试将其转换为pandas DataFrame吗?

每行本身看起来都像是一个合适的数据框:

L[0]  
col1 col2 col3 col4
N 225.0 12.0 03.0 B

2 个答案:

答案 0 :(得分:1)

我认为需要使用DataFrame构造函数创建2d numpy数组:

L = ['col1', 'col2', 'col3', 'col4', 
    'N 225.0', '12.0', '03.0', 'B' ,
   'col1', 'col2', 'col3', 'col4', 
    'W 223.0', '12.0', '01.0', 'M' ,
   'col1', 'col2', 'col3', 'col4', 
    'X 203.0', '11.0', '04.0', 'P' ]

a = np.array(L).reshape(-1, 8)[:, -4:]
print (a)
[['N 225.0' '12.0' '03.0' 'B']
 ['W 223.0' '12.0' '01.0' 'M']
 ['X 203.0' '11.0' '04.0' 'P']]

df = pd.DataFrame(a, columns = L[:4])
print (df)
      col1  col2  col3 col4
0  N 225.0  12.0  03.0    B
1  W 223.0  12.0  01.0    M
2  X 203.0  11.0  04.0    P

说明

首先将列表转换为一维numpy数组:

print (np.array(L))
['col1' 'col2' 'col3' 'col4' 'N 225.0' '12.0' '03.0' 'B' 'col1' 'col2'
 'col3' 'col4' 'W 223.0' '12.0' '01.0' 'M' 'col1' 'col2' 'col3' 'col4'
 'X 203.0' '11.0' '04.0' 'P']

然后reshape到Nx8个数组:

print (np.array(L).reshape(-1, 8))
[['col1' 'col2' 'col3' 'col4' 'N 225.0' '12.0' '03.0' 'B']
 ['col1' 'col2' 'col3' 'col4' 'W 223.0' '12.0' '01.0' 'M']
 ['col1' 'col2' 'col3' 'col4' 'X 203.0' '11.0' '04.0' 'P']]

最后选择最后4个列:

print (np.array(L).reshape(-1, 8)[:, -4:])
[['N 225.0' '12.0' '03.0' 'B']
 ['W 223.0' '12.0' '01.0' 'M']
 ['X 203.0' '11.0' '04.0' 'P']]

答案 1 :(得分:0)

尝试

L = ['Thanks You', 'Its fine no problem', 'Are you sure']

#create new df 
df = pd.DataFrame({'col':L})
print (df)