将列表中的元素分配给数据框的不同列

时间:2019-04-03 21:52:43

标签: python pandas

l = [1,2]
df = pd.DataFrame(columns=['x','y'])

我正在尝试将列表l的元素分配给df中的不同列,但是找不到解决方法。 df.append(l)将列表添加到一列中。

我还希望能够附加我随后创建的其他列表

l2 = [3,4]
df.append(l2)

这是预期的输出

>>> df 
    x   y
    1   2
    3   4
    ... ...

4 个答案:

答案 0 :(得分:2)

使用loc

df.loc[len(df), :] = l

答案 1 :(得分:2)

我们可以将"Status{statusCode=PLACES_API_ACCESS_NOT_CONFIGURED, resolution=null}"loc一起使用:

length of df

答案 2 :(得分:1)

您可以使用Series设置list的格式,然后使用append

df=df.append(pd.Series(l,index=df.columns,name=0))
l2 = [3,4]
df=df.append(pd.Series(l2,index=df.columns,name=1))
df
Out[424]: 
   x  y
0  1  2
1  3  4

答案 3 :(得分:1)

  1. 可以使用pd.concat来实现您想要的目标:
    columns = ['x','y']
    df = pd.DataFrame(columns=columns)

然后添加“行”,如下所示:

   l = [1,2]
   df = pd.concat((df, pd.DataFrame(data=[l], columns=columns)))
   l = [3,4]
   df = pd.concat((df, pd.DataFrame(data=[l], columns=columns)))
  1. 但是,您也可以执行以下操作(如果在您的实际用例中有意义):
   my_data = []
   my_data.append([1,2])
   my_data.append([3,4])
   # ...and then eventually:
   df = pd.DataFrame(my_data, columns=list('xy'))