目标:从数据中获取配对并创建带有适当行的新标签数据框
data = [2618926, -1, 2955664, 2978, 2959058, -1, 3038766, 4470, 3044420, -1]
column = ['Date','Value']
我需要从变量'Data'创建一个数据框并以以下格式显示:
Date Value
2618926 -1
2955664 2978
2959058 -1
2028766 4470
3044420 -1
答案 0 :(得分:4)
我将使用我最喜欢的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
答案 1 :(得分:3)
用字典为您的df供餐:
df= pd.DataFrame( {"Date":data[::2], "Value":data[1::2]} )
从0和1索引开始的每个第二个元素切片的列表。
输出:
Date Value
0 2618926 -1
1 2955664 2978
2 2959058 -1
3 3038766 4470
4 3044420 -1