在Python中为每一列使用相同的列表创建DataFrame

在Python中为每一列使用相同的列表创建DataFrame,python,pandas,dataframe,Python,Pandas,Dataframe,在Python中创建新的Pandas数据帧时,我尝试添加相同的列。我正在尝试做如下事情: 我试图使数据帧的所有列位于同一列表之上。对于整数列表(或者更一般地说,字符串/对象列表等)可以这样做吗 我尝试过使用数组、dict和列表作为列名。这一部分是我可以理解的,但我想理解的是,如何通过一种可扩展的方式只传递一个列表 column\u names=array(['col0','col1','col2','col3'],dtype=object) some_list=[int0,int1,int2]

在Python中创建新的Pandas数据帧时,我尝试添加相同的列。我正在尝试做如下事情:

我试图使数据帧的所有列位于同一列表之上。对于整数列表(或者更一般地说,字符串/对象列表等)可以这样做吗

我尝试过使用数组、dict和列表作为列名。这一部分是我可以理解的,但我想理解的是,如何通过一种可扩展的方式只传递一个列表

column\u names=array(['col0','col1','col2','col3'],dtype=object)
some_list=[int0,int1,int2]
df=pd.DataFrame(一些列的列表,列的名称)
我想看看这样的东西:

  col0 col1 col2 col3

0 int0 int0 int0 int0
1 int1 int1 int1 int1
2 int2 int2 int2 int2

IIUC,考虑不要使用<代码>列表>代码>作为变量(或任何其他保留关键字),因为<代码>列表< /C> >是内置函数,您将重写它。

l = [0, 1, 2]
df = pd.DataFrame(dict.fromkeys(column_names,l))
df
   col0  col1  col2  col3
0     0     0     0     0
1     1     1     1     1
2     2     2     2     2
另一种方法

pd.DataFrame([l]*len(column_names),index=column_names).T
   col0  col1  col2  col3
0     0     0     0     0
1     1     1     1     1
2     2     2     2     2

是的,我忘了使用不同的变量名。现在编辑。谢谢你的帮助!这与其他方法相比如何?例如,除了使用dict.fromkeys(列名称、一些列表)之外,还有其他方法吗?它将如何比较(在内存、时间等方面)?@qxzsilver我想说,它们几乎相同,因为您需要获得与所需列大小相同的输入数据build@qxzsilver如果这有帮助,你愿意接受并投票吗?这帮了大忙!然而,dict.fromkeys(col_name,some_list)有一个不必要的副作用,即在数据帧中按列名的字母顺序重新排列列名。除了字典,还有别的解决办法吗?因为字典似乎是按内存中的列名排列的。