- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
初学者 python(因此也是 pandas)用户。我正在尝试将一些数据导入 Pandas 数据框。其中一列是日期,但格式为“YYYYMM”。我已尝试执行大多数论坛回复所建议的操作:
df_cons['YYYYMM'] = pd.to_datetime(df_cons['YYYYMM'], format='%Y%m')
虽然这不起作用(ValueError:未转换的数据仍然存在:3
)。该列实际上包括每年的附加值,MM=13。消息来源将此行用作过去一年的平均值。我猜 to_datetime
有问题。
谁能提供一个快速的解决方案,要么去掉所有年平均值(最后两位数为“13”的那些),要么让 to_datetime
忽略它们?
最佳答案
传递 errors='coerce'
然后 dropna
NaT
行:
df_cons['YYYYMM'] = pd.to_datetime(df_cons['YYYYMM'], format='%Y%m', errors='coerce').dropna()
duff 月份值将转换为 NaT
值
In[36]:
pd.to_datetime('201613', format='%Y%m', errors='coerce')
Out[36]: NaT
或者,您可以在转换前过滤掉它们
df_cons['YYYYMM'] = pd.to_datetime(df_cons.loc[df_cons['YYYYMM'].str[-2:] != '13','YYYYMM'], format='%Y%m', errors='coerce')
虽然这可能会导致对齐问题,因为返回的 Series 需要具有相同的长度,所以只传递 errors='coerce'
是一个更简单的解决方案
关于Python - Pandas - 将 YYYYMM 转换为日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45215525/
我需要从包含 yyyymm+2 (202009) 的第 10 行开始找到 L 列中的所有单元格。 换句话说,我正在寻找包含属于当月前 2 个月的所有日期的单元格。截至 2020 年 7 月,有效值为
我有以下数字,它们实际上代表 YYYYMM 格式的日期: 201301 201302 201303 ... 当我尝试将单元格格式化为日期字段时,Excel 总是会覆盖原始日期并创建一些与实际日期毫无共
除了我需要的那个:yyyymm 之外,我已经找到了您能想到的所有 DateTime 格式。我该如何获得它? 我正在使用以下代码: List routines = new List(); routin
我有许多格式化为 YYYYMM 的值: 201007 201008 如何从这些值中直接提取月份? 201007 jul 201008 aug 我尝试了很多在网上找到的方法,a.o. =TE
所以我对 SQL 还很陌生,我有一列数字以 YYYYMM 格式列出年和月(即 201607 为 2016 年 7 月)。我想知道的是,我是否可以在 SQL 中将其转换为正确的日期格式。我做了一些研究,
我正在使用Elasticsearch 2.4,并且具有Groovy脚本。我的文档中有一个字段doc['created_unix_timestamp'],它是integer类型,它包含Unix时间戳。在
我的 SAS 工作文件夹中有 26 个表,其年月格式为 201301-201502(即 201301 到 201312、201401 到 201412、201501、201502)。我必须创建 26
我想选择值= 201301 select getdate(), cast(datepart(year, getdate()) as varchar(4))+cast(datepart(MONTH, g
我需要一些 .net 的正则表达式,它匹配以下模式:YYYYMM 地点: YYYY 是 2000 到 2049 之间的年 MM 是介于 01 和 12 之间的月 我已经完成了下面的这个问题,它包含无效
这个问题在这里已经有了答案: Generate a list of datetimes between an interval (5 个答案) 关闭 8 年前。 我有两个 yyyymm 值将由用户输
我有一个由我的财务部门运行的内部业务流程。首先,他们以 yyyyMM 或 201009 格式输入日期。我想检查该字符串中的有效日期,但到目前为止我一无所获。 我目前正在探索分解字符串,取前 4 个并检
如何在 SAS 中获取 sas 日期格式“YYYYMM”? 从下面的代码中我会得到'2011-11-01' call symput('me',"'"||put(intnx('month',today(
我有一个句点 201604 (nvarchar)。有没有办法将 201604 转换为 APR16? 最佳答案 使用 DATENAME 和 SUBSTRING 函数,如下所示: declare @str
我有一个变量,其日期值为 YYYYMM 格式。例如: var givenDate = "201704" 如何找出给定月份的最后一天并附加到它。例如, //last day of 2
我有一个日期,我想以 YYYYMM 格式存储在 MySQL 数据库中。 我正在尝试确定要使用的最佳字段类型,我是否认为 DATE 字段类型在这种情况下不好,因为它希望格式为 YYYY-MM-DD? 在
我想将 YYYYMM 格式的值(例如“201509”)传递给函数并检索更人性化的“MMMYY”格式,例如“Sep 2015”。 我认为这可能有效: internal static string Get
初学者 python(因此也是 pandas)用户。我正在尝试将一些数据导入 Pandas 数据框。其中一列是日期,但格式为“YYYYMM”。我已尝试执行大多数论坛回复所建议的操作: df_cons[
我有一个 csv 文件,其中日期作为以下格式的字符:202211、202210、202209 等。 我试过用 xdate<- as.Date("202211", format="%Y%m") xdat
目前,在我的 Excel 中,有一串年份和月份写成 yyyymm。例如:201706 现在我想在另一个工作表中将其转换为月末日期。例如:20170630 现在的问题是,如何告诉 Excel 根据字符串
var frommonth="201912"; var tomonth="201810"; 从两个月以上我将如何在 JavaScript 中获得两个月之间的差异? var date1 = new Da
我是一名优秀的程序员,十分优秀!