制作单行数据框

EHB*_*EHB 6 python naming dataframe pandas

我无法从 3 个单独的数字构建数据框。我想这样做是为了让函数返回数据帧,然后将其附加到其他现有结果。

所需的结果是一个包含名为“a”、“b”和“C”的列的数据框,每个列都包含 a、b 和 c 的值。

尝试一:

a=1
b=2
c=3
dat=pd.DataFrame([a,b,c], columns=list('abc')) #fails with size error
Run Code Online (Sandbox Code Playgroud)

尝试两个:

dat=pd.DataFrame()
dat['a']=pd.np.nan
dat['b']=pd.np.nan
dat['c']=pd.np.nan

dat['c']=c # no numbers are added to the column; still has 0 rows
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

想要的结果是:

    a  | b  | c
   -------------
    1  | 2  | 3
Run Code Online (Sandbox Code Playgroud)

WeN*_*Ben 7

请注意,您应该遵循冷和 jpp 的构造来创建一行数据框,但在这里我尝试修复您的代码。将 DataFrame 调用更改为

pd.Series([a,b,c], index=list('abc')).to_frame(0).T
Out[15]: 
   a  b  c
0  1  2  3
Run Code Online (Sandbox Code Playgroud)


cs9*_*s95 6

pd.DataFrame([[a, b, c]], columns=['a', 'b', 'c'])

   a  b  c
0  1  2  3
Run Code Online (Sandbox Code Playgroud)

请注意,您的“奖金询问”实际上是不可能的,因为一个对象可能与多个变量相关联(想想看)。

但是,您可以考虑使用字典。

data = {'a' : 1, 'b' : 2, 'c' : 3}
pd.DataFrame(data, index=[0])  # the `index` argument is important 

   a  b  c
0  1  2  3
 
Run Code Online (Sandbox Code Playgroud)