在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
答案 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