Skip to main content
 首页 » 编程设计

python之将 Pandas 表的每一行转换为列表并添加到表中

2025年05月04日12luoye11

我想将每一行转换成一个列表并作为新列插入。 例如,我从下表开始:

   0  1  2  3  4 
0  0  8  3  2  5 
1  1  1  2  2  4 
2  0  8  9  6  4 
3  2  7  6  1  9 
4  8  9  1  5  6 

并希望得到:

   0  1  2  3  4  test 
0  0  8  3  2  5  [0, 8, 3, 2, 5] 
1  1  1  2  2  4  [1, 1, 2, 2, 4] 
2  0  8  9  6  4  [0, 8, 9, 6, 4] 
3  2  7  6  1  9  [2, 7, 6, 1, 9] 
4  8  9  1  5  6  [8, 9, 1, 5, 6] 

这是我的代码片段,我希望它能实现这一点,但它没有。

import pandas as pd 
import numpy as np 
 
df = pd.DataFrame(np.random.randint(low=0, high=10, size=(5, 5))) 
df['list'] = df.apply(lambda x: x.tolist(), axis=1) 
print(df) 

请您参考如下方法:

您可以使用:

In [127]: df['test'] = df.values.tolist() 
 
In [128]: df 
Out[128]:  
   0  1  2  3  4             test 
0  0  8  3  2  5  [0, 8, 3, 2, 5] 
1  1  1  2  2  4  [1, 1, 2, 2, 4] 
2  0  8  9  6  4  [0, 8, 9, 6, 4] 
3  2  7  6  1  9  [2, 7, 6, 1, 9] 
4  8  9  1  5  6  [8, 9, 1, 5, 6]