有没有办法用pandas创建1 x n数据帧?看起来pandas按列填充数据帧,而使用我的数据按行创建数据帧会更容易。
例如,我目前使用pd.DataFrame(range(10))。transpose()创建一行数据帧,但我担心调用transpose方法会因为我工作而减慢代码速度有更多数据。
答案 0 :(得分:2)
最简单的方法是:
import pandas as pd
df = pd.DataFrame([range(10)])
range(10)
本身就是一维的(10)。认为它是错误的(1,10)。要解决此问题,请将其指定为[range(10)]
。现在是(1,10)
因为@EdChum喜欢暂时回答评论中的问题。如果你喜欢这个答案,请提出他的意见。
import pandas as pd
df = pd.DataFrame(np.arange(10).reshape(1, 10))
%%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
%%timeit
pd.DataFrame(np.arange(10).reshape(1, 10))
10000 loops, best of 3: 86.4 µs per loop
EdChum显然更有效率。