【问题标题】:add a row in pandas dataframe without knowing number of columns在不知道列数的情况下在 pandas 数据框中添加一行
【发布时间】:2016-11-30 22:08:36
【问题描述】:

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

我正在处理一个文件,其中包含可能属于 1 个以上类别的产品的评论。我需要的是同时按类别和日期对评论评级进行分组。由于我不知道确切的类别数量或日期,因此我需要在处理评论数据(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 的样子:

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

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

【问题讨论】:

  • 专业提示:敦促回答者只会加速投票。
  • 添加一行:df.loc['newrow']=None
  • @burhan 成功了,谢谢!

标签: python pandas dataframe row add


【解决方案1】:

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

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

             2002-09
Movies & TV  NaN
Books        NaN
NewRow       0.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-04
    • 2020-10-12
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 2016-12-03
    相关资源
    最近更新 更多