dataframe - 熊猫 str 分裂。我可以跳过会带来麻烦的线路吗?
问题描述
我有一个数据框(all5),包括一列日期('CREATIE_DATUM')。有时符号是 01/JAN/2015 有时它写为 01-JAN-15。我只需要年份,所以我写了以下代码行:
all5[['Day','Month','Year']]=all5['CREATIE_DATUM'].str.split('-/',expand=True)
但我收到以下错误:
columns must be same length as key
所以我假设在我的数据框中的某个地方(> 100.000 行)一个值有两个以上的“/”符号。如何让我的代码跳过这一行?
解决方案
您可以尝试使用pd.to_datetime
然后使用.dt
属性来访问日、月和年:
x = pd.to_datetime(all5["CREATIE_DATUM"])
all5["Day"] = x.dt.day
all5["Month"] = x.dt.month
all5["Year"] = x.dt.year
推荐阅读
- docker - Docker 运行命令,只需一行命令即可实现几步
- swift - 如何在 init“内容”属性中计算和初始化?迅速
- postgresql - 如何设置 DataGrip 通过使用 DataGrip 的隧道以 SSL 模式连接 Cloud SQL
- reactjs - 以位置为中心渲染谷歌地图 OverlayView
- ios - 导航到另一个屏幕时,应用程序在 IOS 上冻结 - React Navigation
- jmeter - 有没有办法在 Jmeter 中为嵌入式资源的请求添加参数?
- php - 如何使用 Goutte 抓取 div 标签内的背景图像
- javascript - 有没有办法在不被永久记住的情况下对使用 Google 帐户的用户进行身份验证?
- python - 如何检查请求的数据是否存在
- amazon-web-services - AWS Glue 未检测到分区(由 Athena 与 Glue 不同的方法创建)