使用空列创建pandas数据框

时间:2016-10-23 22:14:41

标签: python-3.x pandas

我很难搞清楚这一点。我正在开发一个程序来跟踪与一堆文件相关的一些数据。我正在使用pandas来管理数据并加载/保存它。对于第一次运行,程序识别具有扩展名的文件,并创建一个pandas数据帧,其中包含与每个文件关联的数据的一些列数。直到运行时才知道列数和行数。我想将所有文件路径添加到列中,但是将所有其他列留空以用于DataFrame,有没有一种好方法可以做到这一点?因此,如果输入为[val1, val2, val3,...],那么我希望DataFrame为

[col1, col2, col,...,coln]
[val1, NaN, NaN,...,  NaN]
[val2, NaN, NaN,...,  NaN]
[val3, NaN, NaN,...,  NaN]

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

如果您从dict创建数据框,columns关键字中指定的任何额外列都将初始化为null:

In [3]: pd.DataFrame({'col1':['val1','val2','val3']}, 
                     columns=['col1','col2','col3'])
Out[3]:
   col1 col2 col3
0  val1  NaN  NaN
1  val2  NaN  NaN
2  val3  NaN  NaN

或者,如果您的第一列是索引,则可以使用以下语法:

In [4]: pd.DataFrame([], ['val1','val2','val3'], ['col1','col2','col3'])
Out[4]:
     col1 col2 col3
val1  NaN  NaN  NaN
val2  NaN  NaN  NaN
val3  NaN  NaN  NaN