根据列熊猫保留某些类型的行

时间:2019-11-08 08:52:55

标签: python pandas dataframe

我有一个要清理的数据框,我有一列带有一些整数和一些时间戳。我想删除列中具有整数值的行,而只保留带有时间戳的行。

df.col.unique() #gives

array([Timestamp('2017-05-27 00:00:00'), Timestamp('2017-05-30 00:00:00'),
       Timestamp('2017-05-25 00:00:00'), Timestamp('2017-05-24 00:00:00'),
       43249, 43225, 43245, 43228, 43246,
       Timestamp('2018-09-21 00:00:00'), Timestamp('2018-09-04 00:00:00')]

我想删除具有int值的行并保留时间戳记日期。

2 个答案:

答案 0 :(得分:1)

使用它来过滤数据框

df[~df.col.map(lambda x: isinstance(x,int))]

答案 1 :(得分:1)

以下是使用pd.to_numericSeries.isna的有效示例:

# Example df
df = pd.DataFrame({'timestamp': ['2019-01-01', 2, '2019-01-02', 3, '2019-01-03']})

    timestamp
0  2019-01-01
1           2
2  2019-01-02
3           3
4  2019-01-03


df[pd.to_numeric(df['timestamp'], errors='coerce').isna()]

    timestamp
0  2019-01-01
2  2019-01-02
4  2019-01-03