如何从旧数据帧创建新数据帧?

时间:2019-11-04 13:36:45

标签: python pandas csv dataframe

我有一个数据框,其中包含许多温度值的测量值。我想计算一个月中每一天的测量次数。到目前为止,我设法显示了度量的数量,并创建了一个新的数据框,其中包含天的唯一值。 如何在新列中将度量的数量添加到新的数据框中(包含天的所有唯一值的度量)?

到目前为止,我已经管理了此功能,该功能可以计算给定日期的测量次数:

def measurements_in_a_day(day, month, year):
    full_date = day.format(), '/', month.format(), '/', year.format()
    full_date = ''.join(full_date)
    seriesObj = data.apply(lambda x: True if x['day'] == (full_date) else False, axis=1)
    no_of_rows = len(seriesObj[seriesObj == True].index)
    print('Number of Rows in dataframe in which date is ', full_date, ' are ', no_of_rows)

问题是我必须多次调用此函数,因为csv文件不会保存数据的保存格式。如何在为唯一月份创建的数据框中的新列中添加度量值计数?

2 个答案:

答案 0 :(得分:2)

您尝试使用pandas groupby吗?

诸如data.groupby('day')。count()之类的东西应该可以为您提供想要的东西。

答案 1 :(得分:1)

df1=df.groupby('day')['time'].count().reset_index()
df1=df1.rename(columns={'time':'count'})

一行:

df1=df.groupby('day')['time'].count().reset_index().rename(columns={'time':'count'})

如果您希望将日期作为索引,则可以执行以下操作

df1=df.groupby('day')['time'].count().rename('count')