【问题标题】:looping the data using date variable in python在python中使用日期变量循环数据
【发布时间】:2017-01-20 13:04:11
【问题描述】:

我有以下带有日期时间、经度和纬度变量的数据框。此数据每秒收集一次,这意味着每个日期重复 60 次

我正在使用 lat、lon 值进行一些计算,最后我需要编写 将此数据保存到 Postgres 表中。

2016-07-27 06:43:45    50.62    3.15
2016-07-27 06:43:46    50.67    3.22
2016-07-28 07:23:45    52.32    3.34
2016-07-28 07:24:46    52.67    3.45

目前我有 1000 万条记录。如果我使用整个数据框进行计算,则需要更长的时间。

如何为每个日期循环,将其写入数据库并清除数据框??

我已将 datetime 变量转换为日期格式

df['date'] = df['datetime'].dt.date
df = df.sort(['datetime'])

my computation is
df.loc[(df['lat'] > 50.10) & (df['lat'] <= 50.62), 'var1'] = 1
df.loc[(df['lan'] > 3.00) & (df['lan'] <= 3.20), 'var2'] = 1

将其写入数据库

df.to_sql('Table1', engine,if_exists = "replace",index = False)

【问题讨论】:

    标签: python loops date pandas


    【解决方案1】:

    您是否考虑过使用groupby() 函数?您可以使用它将每个“日期”视为单独的 DataFrame,然后运行您的计算。

    for sub_df in df.groupby('date'):
        # your computations
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-06
      • 2012-01-31
      相关资源
      最近更新 更多