在每个列中使用相同的列表在Python中创建Pandas DataFrame

时间:2019-04-29 00:57:37

标签: python pandas dataframe

在Python中创建新的Pandas DataFrame时,我试图添加同一列。我正在尝试执行以下操作:

我正在尝试使DataFrame的所有列都位于同一列表上方。是否可以对整数列表(或更常见的是字符串/对象/等列表)执行此操作?

我尝试使用数组,字典,列名列表。这部分是我可以弄清楚的,但是我想找出一种可扩展的方式来只传入一个列表。

column_names = array(['col0', 'col1', 'col2', 'col3'], dtype=object)
some_list = [int0, int1, int2]

df = pd.DataFrame(some_list, columns=column_names)

我想看到类似的东西:

  col0 col1 col2 col3

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

1 个答案:

答案 0 :(得分:3)

IIUC,请考虑不要将list用作变量(或任何其他保留的关键字),因为list是内置函数,您将覆盖它。

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