【问题标题】:Python pandas convert (yy/mm) date format and select certain time rangePython pandas 转换(yy/mm)日期格式并选择特定时间范围
【发布时间】:2016-04-28 05:23:19
【问题描述】:

大师,我正在阅读一张大表,其中包含“yy-mm”格式的“issue_day”列。例如:

 status    issue_day
 active    11-Dec
 inactive  10-Dec
 active    9-Dec
 active    8-Jun

是否有任何 pythonic/pandas 方式来选择早于 2011 年的数据? (例如,在这种情况下,我们只需要 12 月 10 日和 12 月 9 日的数据)。 pandas to_csv 命令中只有“dayfirst”,但我没有看到“yearfirst”。有哪位大师能开导吗?谢谢你

【问题讨论】:

    标签: python-2.7 date pandas


    【解决方案1】:

    这个呢?

    df=pd.DataFrame(['11-Dec','10-Dec','09-Dec'],columns=['issue_day'])
    df['issue_day']=pd.to_datetime(df['issue_day'],format="%y-%b")
    print df[df['issue_day']<'2011']
    

    【讨论】:

    • 谢谢!但是我遇到一个错误:“ValueError:时间数据'9-Dec'与格式'%y-%b'(匹配)不匹配”。有什么意见吗?
    • 你能发布如何创建数据框吗?
    • 当然。这是一个很大的 csv,所以我执行“df=pd.read_csv("data.csv")”。 df['issue_day'] 是其中一列。
    • 更好的输入真的很有帮助。我不确定问题是什么
    • 我知道这个问题。 “ValueError:时间数据 '9-Dec' 与格式 '%y-%b' 不匹配(匹配)”。这是因为时间数据是“9-Dec”而不是“09-Dec”。有什么解决办法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 2022-01-25
    • 2012-03-05
    • 2014-05-04
    • 1970-01-01
    • 2019-05-08
    相关资源
    最近更新 更多