python - Pandas:如何在具有现有字符串数据列的数据框中创建两个新列
问题描述
我的数据框中有一个列日期(每行的字符串类型),如下所示:
1 'Sat, 26 Dec 2020 14:05:59 +0000'
2 'Sat, 26 Dec 2020 11:01:27 +0000'
3 'Sat, 26 Dec 2020 12:43:59 +0000'
4 'Sat, 26 Dec 2020 13:24:45 +0000'
5 'Sat, 26 Dec 2020 13:37:00 -0000'
我想创建两个这样的新列:
Date Hour
'Sat, 26 Dec 2020' '14:05:59'
'Sat, 26 Dec 2020' '11:01:27'
我怎样才能做到这一点 ?知道一开始的类型是字符串。我考虑过使用 len 进行剪切,因为开头的每一行的格式总是相同的。但也许这不是最好的方法。
解决方案
假设您的原始列名是datetime
您可以执行以下操作:
df['date']=pd.to_datetime(df['datetime']).dt.strftime('%a, %d %b %Y')
df['time']=pd.to_datetime(df['datetime']).dt.strftime('%H:%M:%S')
推荐阅读
- python - 在 Instagram 中抓取一定数量的帖子
- ios - 如何定义一个变量可以快速保存通用协议的类型?
- wordpress - 如何在自定义 PHP 文件中使用选定的 WP 函数?
- ios - 有没有办法通过 XCUITest 在 iOS 中模拟 Web 视图?
- ruby-on-rails - 如何将数组作为绑定变量传递给 Rails/ActiveRecord 原始 SQL 查询?
- python - 本地机器和AWS之间的多处理?
- microsoft-graph-api - Microsoft 教育 - 学校数据同步 (SDS) 到 Microsoft Graph 映射
- stripe-payments - 将应用程序投入生产后,是否需要托管 Stripe\Braintree 支付网关的后端服务器?
- php - 使用 php 和 ajax 发布 json 数组 - 问题
- java - 单例的这两种实现有什么区别?