按日期对pandas数据进行排序,其中一些行没有它

时间:2018-01-26 09:05:08

标签: python pandas sorting date dataframe

我有这样的数据框

0 1 2 0 240 RSOW 2008-07-11 20:35:00 1 250 RSOW 2008-06-27 19:10:00 ...

我希望按日期按第2列对其进行排序。但后来在同一日期看起来像\N,我想省略那些。第二个问题是格式 - 时间和日期在同一列中 如何使用pandas对此进行排序而不会出现\N和这次的问题?

1 个答案:

答案 0 :(得分:0)

我想我自己已经解决了这个问题。

rows = []   
for index, row in subset.iterrows():
    try:
        yr = int(row[2][:4]) # assure it has a numer like year 
        if yr > 2000:
            rows.append(row)
    except ValueError:
        continue

如果它是某种类似NaN的东西,例如我提到的\N那么会发生一个ValueError,在将来的分析中不会考虑它。 接下来,我只是简单地使用行(rows)获取列表,并通过一些列表理解我创建了一个新的数据框

dic = {"date": [row[2] for row in rows]}
df = pd.DataFrame(dic)
df = df.sort_values(by="date")

相当新秀必须承认