因此,我有一个时间差列,它是两个不同excel工作表的两个结束时间之间的时间差(您可以查看我之前的问题以获得更好的概念),而时间差值是字符串。我正在尝试找到一种方法来抓取时间差大于-15秒的所有行,范围为3-5秒。非常感谢你们这些救命稻草的回复。我也不确定为什么它的格式是"11.0“,而不是"11”。我也不确定如何改变这一点。
时间差列的示例请记住,这些是字符串格式
time_diff
-11.0
-3.0
1.0
4.0
-2.0
发布于 2020-09-03 08:11:10
要转换字符串,请执行以下操作:
df['time_diff'].astype('float')如果前面的函数不起作用,您必须清理字符串,可以使用下面这样的函数。“这里只是一个例子”
df['time_diff'] = df['time_diff'].replace({'\$': '', ',': ''}, regex=True).astype(float)条件有点混乱,因为我们有一些重叠,但在熊猫中使用.loc,我们可以像这样过滤数据。
a = df.loc[(df['time_diff'] >= 3) & (df['time_diff'] <= 5)]
b = df.loc[df['time_diff'] > -15].loc文档https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html
https://stackoverflow.com/questions/63714687
复制相似问题