在pandas数据帧中添加一行而不知道列数

时间:2016-11-30 22:08:37

标签: python pandas dataframe row add

我是python的新手,如果你能尽快给我一个答案,我将不胜感激。

我正在处理包含可能属于多个类别的产品的评论的文件。我需要的是按类别和日期同时对评论评级进行分组。由于我事先并不知道确切的类别数或日期,因此我需要在处理评论数据(50 GB文件)时添加行和列。

我已经看过如何添加列,但是我的麻烦是添加一行而不知道数据帧中当前有多少列。

这是我的代码:

    list1=['Movies & TV', 'Books']    #categories so far
    dfMain=pandas.DataFrame(index=list1,columns=['2002-09']) #only one column at the beginnig
    print(dfMain)

这就是dfMain的样子:

enter image description here

如果我想添加一列,我只需这样做: dfMain.insert(0,date,0)#where日期的格式类似于' 2002-09'

但是,如果我想添加一个新类别(行)并用零填充所有日期(列)?我怎么做?我已尝试使用方法追加,但它要求所有列作为参数。方法插入似乎不起作用..

1 个答案:

答案 0 :(得分:0)

这是一个可能的解决方案:

dfMain.append(pd.Series(index=dfMain.columns, name='NewRow').fillna(0))

             2002-09
Movies & TV  NaN
Books        NaN
NewRow       0.0