创建1 x n pandas DataFrame

时间:2016-05-19 20:21:29

标签: python pandas dataframe

有没有办法用pandas创建1 x n数据帧?看起来pandas按列填充数据帧,而使用我的数据按行创建数据帧会更容易。

例如,我目前使用pd.DataFrame(range(10))。transpose()创建一行数据帧,但我担心调用transpose方法会因为我工作而减慢代码速度有更多数据。

1 个答案:

答案 0 :(得分:2)

最简单的方法是:

import pandas as pd

df = pd.DataFrame([range(10)])

解释

range(10)本身就是一维的(10)。认为它是错误的(1,10)。要解决此问题,请将其指定为[range(10)]。现在是(1,10)

编辑以添加EdChum的答案和后代。

因为@EdChum喜欢暂时回答评论中的问题。如果你喜欢这个答案,请提出他的意见。

import pandas as pd

df = pd.DataFrame(np.arange(10).reshape(1, 10))

我测试了这些速度。

OP的解决方案

%%timeit
pd.DataFrame(range(10)).transpose() 

1000 loops, best of 3: 223 µs per loop

我的解决方案

%%timeit
pd.DataFrame([np.arange(10)])

1000 loops, best of 3: 783 µs per loop

EdChum的解决方案

%%timeit
pd.DataFrame(np.arange(10).reshape(1, 10))

10000 loops, best of 3: 86.4 µs per loop

EdChum显然更有效率。