我想将值分组到一个pandas.DataFrame
中,然后将要保存的结果存储在另一个数据框中。
我有以下代码:
grouped = df.groupby("date")
grouped_df = DataFrame()
grouped_df["work_count"] = grouped["id"].count()
grouped_df["author_author"] = grouped["author_name"].nunique()
print(grouped_df)
有了它,我得到了:
commit_count authors_count
date
2018-02-16 1 1
2018-02-23 2 1
2018-03-02 5 1
2018-03-30 1 1
2018-04-13 3 1
2018-06-15 2 1
我尝试使用indices
来获取日期,就像这样:
grouped = df.groupby("date")
grouped_df = DataFrame()
grouped_df["date"] = grouped.indices
grouped_df["work_count"] = grouped["id"].count()
grouped_df["author_author"] = grouped["author_name"].nunique()
print(grouped_df)
有了它,我陷入了困境:
date work_count author_count
2018-02-16 2018-02-16 1 1
2018-02-23 2018-02-23 2 1
2018-03-02 2018-03-02 5 1
2018-03-30 2018-03-30 1 1
2018-04-13 2018-04-13 3 1
2018-06-15 2018-06-15 2 1
我也尝试过:
grouped = df.groupby("date", as_index=False)
但是我得到了
ValueError: Cannot set a frame with no defined index and a value that cannot be converted to a Series
此外,我想将日期保留为数据框中的一列,而我无法使用as_index=False
来实现。
最后,我想从grouped_df
中删除第一列。
我希望我的结果如下所示:
date work_count author_count
2018-02-16 1 1
2018-02-23 2 1
2018-03-02 5 1
2018-03-30 1 1
2018-04-13 3 1
2018-06-15 2 1
答案 0 :(得分:-1)
grouped = df.groupby(“ date”,as_index = False).reset_index()