python - 如何向pandas时间列添加0

标签 python pandas

我有一个从 pandas 中的 csv 读取的数据集。事实证明,当分钟是个位数时,pandas 会丢弃 0。当我在列上执行 .tail 时,这就是我得到的?

5196    15:58
5197    15:59
5198     16:0
5199     16:1
5200     16:2
5201     16:3

这只是 pandas 的事情,我不应该担心吗?有没有修复程序可以正确显示它?

最佳答案

您可以将其设置为显式时间增量而不是字符串:

In [11]: df
Out[11]:
       time
5196  15:58
5197  15:59
5198   16:0
5199   16:1
5200   16:2
5201   16:3

In [12]: pd.to_timedelta(df.time + ":0")
Out[12]:
5196   15:58:00
5197   15:59:00
5198   16:00:00
5199   16:01:00
5200   16:02:00
5201   16:03:00
Name: time, dtype: timedelta64[ns]

In [13]: df["time"] = pd.to_timedelta(df.time + ":0")

In [14]: df
Out[14]:
         time
5196 15:58:00
5197 15:59:00
5198 16:00:00
5199 16:01:00
5200 16:02:00
5201 16:03:00

关于python - 如何向pandas时间列添加0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51273001/

相关文章:

python - csv 数据可以变得懒惰吗?

python - Pandas 数据框的线性回归

python - 在 Dockerfile 中安装 pandas

python - 如何只查看 pandas 数据框中的某些行?

python - 从字典创建 Pandas DataFrame

python - 使用两个或多个列表进行聚类

python - Selenium关于如何在单击more_button后获取new_driver?

python - Django-Guardian - 限制组对类的访问

python - tkinter 的 `after` 方法线程安全吗?

python - 如何平均每 5 行特定列并从 Pandas 的另一列中选择最后一个数据