如何使用多个列表创建数据帧?

2024-04-26 06:02:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有许多清单(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]
.
.
.

我想用这些列表创建一个数据帧,索引是date。你知道吗

如何创建数据帧并使用for循环?你知道吗

非常感谢。你知道吗


Tags: 数据a2列表fordatea1openlow
3条回答

如果有以下变量:

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]

然后您可以获取数据帧并设置索引,如下所示:

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

编辑

在看到您的更新后,因为您的数据已经是一个列表列表,例如:

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

然后您可以像这样构建数据帧:

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

如果你有一个列表,那就很简单了:

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

我会做以下工作:

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)

相关问题 更多 >