如何在pandas中预设数据框的尺寸?

时间:2017-03-26 03:47:17

标签: pandas

我正在尝试在pandas中预设数据框的尺寸,这样我就可以有500行乘300列。我想在将数据输入数据帧之前设置它。

我正在开展一个项目,我需要获取一列数据,复制它,将其向右移动一行并将其向下移动一行。 当我将它向下移动一行时,我遇到了最后一行被切断的问题(例如:我从23行开始,尽管我向下移动了一行并且应该有24行,但它仍保持在23行)。

这是我到目前为止所做的:

bolusCI = pd.DataFrame()
##set index to very high number to accommodate shifting row down by 1
bolusCI = bolus_raw[["Activity (mCi)"]].copy()
activity_copy = bolusCI.shift(1)
activity_copy
pd.concat([bolusCI, activity_copy], axis =1)

谢谢!

2 个答案:

答案 0 :(得分:1)

可能有更有效的方法来实现您的目标,但要直接回答您的问题,您可以执行类似的操作来初始化具有特定维度的DataFrame

pd.DataFrame(columns=range(300),index=range(500))

答案 1 :(得分:0)

您只需在构造函数中定义indexcolumns即可。最简单的方法是使用pandas.RangeIndex。它在语法中模仿np.arangerange。您还可以传递name参数来命名它。

pd.DataFrame
pd.Index

df = pd.DataFrame(
    index=pd.RangeIndex(500),
    columns=pd.RangeIndex(300)
)

print(df.shape)

(500, 300)