用两个数据元素的每个集合进行行的有效方法是什么?

时间:2019-01-09 19:24:13

标签: python python-3.x pandas list dataframe

目标:从数据中获取配对并创建带有适当行的新标签数据框

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

2 个答案:

答案 0 :(得分:4)

我将使用我最喜欢的zipiter食谱:

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