【问题标题】:How to create a new dataframe from old dataframe?如何从旧数据框创建新数据框?
【发布时间】:2020-02-29 20:06:26
【问题描述】:

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

到目前为止,我已经管理了这个函数,它计算给定日期的测量次数:

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)

问题是我必须调用这个函数 3 次不同的时间,因为 csv 文件不保存数据的保存格式。如何在为唯一月份天数创建的数据框中的新列中添加测量计数?

【问题讨论】:

  • 能否请您发布一些示例数据。
  • 能否添加输入数据和预期输出数据?
  • @iulianaiuliana 你的预期输出是什么

标签: python pandas csv dataframe


【解决方案1】:

您尝试过使用 pandas groupby 吗?

像 data.groupby('day').count() 这样的东西应该会给你你想要的。

【讨论】:

    【解决方案2】:
    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')
    

    【讨论】:

      猜你喜欢
      • 2022-07-31
      • 2021-12-09
      • 2021-11-28
      • 2021-09-04
      • 1970-01-01
      • 2019-05-11
      • 2021-09-08
      相关资源
      最近更新 更多