我无法从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
试试两个:
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
我在这里错过了什么?
期望的结果是:
a | b | c
-------------
1 | 2 | 3
最佳答案
pd.DataFrame([[a, b, c]], columns=list('abc'))
a b c
0 1 2 3
请注意,您的“奖金问题”实际上是不可能的,因为对象可能与多个变量相关联(想一想).
但是,您可以考虑使用字典.
data = {'a' : 1, 'b' : 2, 'c' : 3}
pd.DataFrame(data, index=[0]) # the `index` argument is important
a b c
0 1 2 3