下面有很多列表(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循环?
非常感谢。
答案 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)