Skip to main content
 首页 » 编程设计

python之通过每组两个数据元素生成行的有效方法是什么

2025年05月04日12小虾米

目标:从数据中提取数据对并创建具有适当行的新标记数据框

data = [2618926, -1, 2955664, 2978, 2959058, -1, 3038766, 4470, 3044420, -1] 
 
column = ['Date','Value'] 

我需要从变量“数据”创建数据框并以以下格式显示:

Date        Value 
2618926     -1 
2955664     2978 
2959058     -1 
2028766     4470 
3044420     -1 

请您参考如下方法:

我将使用我最喜欢的 zip 和 iter 配方:

it = iter(data) 
pd.DataFrame(list(zip(it, it)), columns=column) 
# Or, let pandas exhaust the iterator for you. 
# pd.DataFrame.from_records(zip(it, it), columns=column) 
 
      Date  Value 
0  2618926     -1 
1  2955664   2978 
2  2959058     -1 
3  3038766   4470 
4  3044420     -1 

zip(it, it) 将每个交替元素压缩在一起。


另一种选择是使用 np.reshape:

pd.DataFrame(np.reshape(data, (-1, 2)), columns=column) 
 
      Date  Value 
0  2618926     -1 
1  2955664   2978 
2  2959058     -1 
3  3038766   4470 
4  3044420     -1