使用其他df的变量计数创建新的df

时间:2018-11-23 20:20:11

标签: python pandas dataframe pandas-groupby

我有一个简单的数据框,其中只有一列“完整日期”。

enter code here

我想每天在一个列中创建一个新的数据框,然后创建另一个称为“计数”的列,该列记录当天将多少次输入到我的旧数据框中。因此,此数据段将转换为:

enter code here

2 个答案:

答案 0 :(得分:1)

使用-

df['full dates'].value_counts()

对于您的用例(如果很简单),可以将每个日期都视为类别变量。

这将按最高计数以排序顺序(降序)产生输出。使用sort=False参数保持原始顺序

如果您正在寻找基于date的更简单的解决方案,请首先使用pd.to_datetime()-

来分析您的列
df['full dates'] = pd.to_datetime(df['full dates'], format='%m/%d/%y')

然后使用pd.Grouper()对日期进行分组以获取每日的日期计数-

df.groupby(pd.Grouper(key='full dates', freq='D')).count()

答案 1 :(得分:0)

最后,它起作用了:

df = dates_cleaned.sort_values(by=['full dates'], ascending=True)

df = pd.DataFrame(df['full dates'].value_counts().reset_index())

df = df.sort_values(by=['index'], ascending=True)

df = df.rename(columns={'index': 'full dates', 'full dates': 'count'})