提问者:小点点

如何按数据帧的正确顺序添加缺少日期的行?


我有一个列为“日期”的数据框架(格式如2020-06-26)。 此列的类型为str。 此列按降序排列:2020-06-26,2020-06-25,2020-06-24……另一列“Reviews”由文本组成。 存在重复的日期,因此日期框架可以在给定日期有多个考核,也可以在另一个日期没有考核。 我写了一段代码来查找哪些日期丢失了。 我有一个列表(insert_dates),其中缺少3个日期,格式为%y-%m-%d

当我尝试将这3个日期附加到我的数据框架df时,没有任何变化,Len(df)保持不变。 下面是我所做的:

row = pd.Series([insert_dates[0],None], index=['Date', 'Review'])
row1 = pd.Series([insert_dates[1],None], index=['Date', 'Review'])
row2 = pd.Series([insert_dates[2],None], index=['Date', 'Review'])
df.append(row, ignore_index=True)
df.append(row1, ignore_index=True)
df.append(row2, ignore_index=True)
df.head()

我该怎么办?


共1个答案

匿名用户

  1. append不是就地操作。
  2. 如果日期格式为YYYY-MM-DD,则可以直接使用sort_values对日期进行排序。 对于诸如第一天的日期之类的情况,应在排序之前使用pd.to_datetime
df = df.append([row, row1, row2], ignore_index=True)
df = df.sort_values(by='Date', ascending=False)