python - 如何按指定时间自动增加数据框列的时间并按天自动增加日期?

标签 python python-3.x pandas datetime dataframe

有一个带有值的 df

             0     |   1
2019-02-22 13:40:58|  sun 
2019-02-22 13:40:58|  earth
2019-02-22 13:40:58|  mercury
2019-02-22 13:40:58|  moon
2019-02-22 13:40:58|  mars
2019-02-22 13:40:58|  jupyter

1.如何在每种情况下自动将时间增加一分钟

期望的输出1。

            0      |   1
2019-02-22 13:41:58|  sun 
2019-02-22 13:42:58|  earth
2019-02-22 13:43:58|  mercury
2019-02-22 13:44:58|  moon
2019-02-22 13:45:58|  mars
2019-02-22 13:46:58|  jupyter

2.通过使用它,我们可以在中间添加日期

df[0] = pd.to_datetime(df[0], unit='ms').dt.strftime('%Y-%m-%d %a %H:%M:%S')

结果

2019-02-08 Fri 12:19:06

如何增加这些

输出 2(包括日期名称)

            0      |   1
2019-02-17 sun  13:41:58|  sun 
2019-02-18 mon  13:42:58|  earth
2019-02-19 tue  13:43:58|  mercury
2019-02-20 wed  13:44:58|  moon
2019-02-21 thur 13:45:58|  mars
2019-02-22 fri  13:46:58|  jupyter

最佳答案

您可以转换增量/减量系列数组 to_timedelta并添加或减去日期时间s:

df[0] = pd.to_datetime(df[0], unit='ms')

如果需要每个唯一的日期时间增量和减量分钟和天:

s1 = pd.to_timedelta(df.groupby(0).cumcount() + 1, unit='m')
s2 = pd.to_timedelta(df.groupby(0).cumcount(ascending=False), unit='d')

或者如果第一列中的所有日期时间都相同:

s1 = pd.to_timedelta(np.arange(1, len(df) + 1), unit='m')
s2 = pd.to_timedelta(np.arange(len(df)-1,-1, -1), unit='d')
<小时/>
df[0] = (df[0] + s1 - s2).dt.strftime('%Y-%m-%d %a %H:%M:%S')
print (df)
                         0        1
0  2019-02-17 Sun 13:41:58      sun
1  2019-02-18 Mon 13:42:58    earth
2  2019-02-19 Tue 13:43:58  mercury
3  2019-02-20 Wed 13:44:58     moon
4  2019-02-21 Thu 13:45:58     mars
5  2019-02-22 Fri 13:46:58  jupyter

关于python - 如何按指定时间自动增加数据框列的时间并按天自动增加日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54920010/

相关文章:

python - 我可以使用 python 检索半径内的多个邮政编码吗

python - 根据条件更新 Pandas 列

python - 在 Python/Pandas 中什么时候调用 object.method 和 module.function?

python - 如何在另一个 dag apache Airflow 中创建 dags

python - 用于捕获和替换模式中数字的正则表达式

python - python中的唯一列表

python - 我可以在 python 3.x 的函数内部动态切换函数吗?

python - 在 Python pandas 中使用正则表达式查找组合数字和字母的特定字符序列

python , Pandas : Filter rows of data frame based on function

python 2 与 python 3 pd.merge 命令