如何使用许多列表创建数据框?

时间:2015-11-30 10:34:10

标签: python pandas

下面有很多列表(A1,A2):

   [    date,       open  , high,   low   ]

A1=['2015/11/26', 9861.48, 8484.9, 4656.74]

A2=['2015/11/27', 9841.48, 8384.9, 4256.74]
.
.
.

我想使用这些列表创建数据框,索引是日期。

如何创建数据框并使用for循环?

非常感谢。

3 个答案:

答案 0 :(得分:4)

如果您有这些变量:

colNames = ["date", "open", "high", "low"]
A1=['2015/11/26', 9861.48, 8484.9, 4656.74]
A2=['2015/11/27', 9841.48, 8384.9, 4256.74]

然后你可以得到DataFrame并像这样设置索引:

df = pandas.DataFrame([A1, A2], columns=colNames).set_index(colNames[0])

修改

看到您的更新后,由于您的数据已经是列表列表,例如:

dataset = [A1, A2, ..., AN]

然后你可以像这样构建你的DataFrame:

colNames = ["date", "open", "high", "low"]
df = pandas.DataFrame(dataset, columns=colNames).set_index(colNames[0])

答案 1 :(得分:2)

如果您有列表清单,那么非常简单:

colNames = ["date", "open", "high", "low"]
A1=['2015/11/26', 9861.48, 8484.9, 4656.74]
A2=['2015/11/27', 9841.48, 8384.9, 4256.74]
A3=['2015/11/28', 9801.48, 8284.9, 3856.74]
your_lists = [A1, A2, A3]
df = pd.DataFrame(your_lists, columns=colNames)
df = df.set_index('date')


In [436]: df
Out[436]:
               open    high      low
date
2015/11/26  9861.48  8484.9  4656.74
2015/11/27  9841.48  8384.9  4256.74
2015/11/28  9801.48  8284.9  3856.74

答案 2 :(得分:1)

我会做以下事情:

df = pd.DataFrame([A1,A2])

df.columns = ['date','open','high','low']

df = df.set_index('date')

返回:

               open    high      low
date                                
2015/11/26  9861.48  8484.9  4656.74
2015/11/26  9861.48  8484.9  4656.74

编辑:

如果您有两个以上的列表,则可以将列表列表构建为:

L = [A1,A2,A3,A4,...,An]

然后将其直接传递给dataframe构造函数:

df = pd.DataFrame(L)