Skip to main content
 首页 » 编程设计

python之如何转换每列的每一行中包含列表的数据框

2025年05月04日21bjzhanghao

我有以下 dataframe,它是 for 循环的输出之一。

df = pd.DataFrame() 
 
df['Score'] = [['0-0','1-1','2-2'],['0-0','1-1','2-2']] 
df ['value'] =[[0.08,0.1,0.15],[0.07,0.12,0.06]] 
df ['Team'] = ['A','B'] 

我想将每一行列表的每个元素转换为一列的每个元素。 以下是预期的输出。

谁能帮我改造一下?

谢谢,

齐普

请您参考如下方法:

使用np.concatenate :

import pandas as pd  
import numpy as np  
 
x = [['0-0','1-1','2-2'],['0-0','1-1','2-2']] 
y = [[0.08,0.1,0.15],[0.07,0.12,0.06]] 
z = ['A','B'] 
df = pd.DataFrame() 
 
df['Score'] = np.concatenate(x) 
df ['value'] = np.concatenate(y) 
df['Team'] = np.repeat(z, len(df)/len(z)) 
print(df) 

输出:

  Score  value Team                                                                                                                           
0   0-0   0.08    A                                                                                                                           
1   1-1   0.10    A                                                                                                                           
2   2-2   0.15    A                                                                                                                           
3   0-0   0.07    B                                                                                                                           
4   1-1   0.12    B                                                                                                                           
5   2-2   0.06    B